diff options
Diffstat (limited to 'X11')
-rw-r--r-- | X11/CallbackI.h | 121 | ||||
-rw-r--r-- | X11/Composite.h | 105 | ||||
-rw-r--r-- | X11/CompositeP.h | 115 | ||||
-rw-r--r-- | X11/ConstrainP.h | 98 | ||||
-rw-r--r-- | X11/Constraint.h | 64 | ||||
-rw-r--r-- | X11/ConvertI.h | 99 | ||||
-rw-r--r-- | X11/Core.h | 70 | ||||
-rw-r--r-- | X11/CoreP.h | 175 | ||||
-rw-r--r-- | X11/CreateI.h | 44 | ||||
-rw-r--r-- | X11/EventI.h | 138 | ||||
-rw-r--r-- | X11/HookObjI.h | 75 | ||||
-rw-r--r-- | X11/InitialI.h | 433 | ||||
-rw-r--r-- | X11/Intrinsic.h | 2589 | ||||
-rw-r--r-- | X11/IntrinsicI.h | 265 | ||||
-rw-r--r-- | X11/IntrinsicP.h | 327 | ||||
-rw-r--r-- | X11/Object.h | 65 | ||||
-rw-r--r-- | X11/ObjectP.h | 143 | ||||
-rw-r--r-- | X11/PassivGraI.h | 190 | ||||
-rw-r--r-- | X11/RectObj.h | 65 | ||||
-rw-r--r-- | X11/RectObjP.h | 133 | ||||
-rw-r--r-- | X11/ResConfigP.h | 78 | ||||
-rw-r--r-- | X11/ResourceI.h | 103 | ||||
-rw-r--r-- | X11/SelectionI.h | 170 | ||||
-rw-r--r-- | X11/ShellI.h | 12 | ||||
-rw-r--r-- | X11/ShellP.h | 438 | ||||
-rw-r--r-- | X11/ThreadsI.h | 134 | ||||
-rw-r--r-- | X11/TranslateI.h | 609 | ||||
-rw-r--r-- | X11/VarargsI.h | 69 | ||||
-rw-r--r-- | X11/Vendor.h | 75 | ||||
-rw-r--r-- | X11/VendorP.h | 107 | ||||
-rw-r--r-- | X11/Xtos.h | 77 |
31 files changed, 7186 insertions, 0 deletions
diff --git a/X11/CallbackI.h b/X11/CallbackI.h new file mode 100644 index 000000000..64e815256 --- /dev/null +++ b/X11/CallbackI.h @@ -0,0 +1,121 @@ +/* $Xorg: CallbackI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ +/* $XFree86$ */ + +/**************************************************************** + * + * Callbacks + * + ****************************************************************/ + +typedef XrmResource **CallbackTable; + +#define _XtCBCalling 1 +#define _XtCBFreeAfterCalling 2 + +_XFUNCPROTOBEGIN + +typedef struct internalCallbackRec { + unsigned short count; + char is_padded; /* contains NULL padding for external form */ + char call_state; /* combination of _XtCB{FreeAfter}Calling */ +#ifdef LONG64 + unsigned int align_pad; /* padding to align callback list */ +#endif + /* XtCallbackList */ +} InternalCallbackRec, *InternalCallbackList; + +typedef Boolean (*_XtConditionProc)( + XtPointer /* data */ +); + +extern void _XtAddCallback( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void _XtAddCallbackOnce( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern InternalCallbackList _XtCompileCallbackList( + XtCallbackList /* xtcallbacks */ +); + +extern XtCallbackList _XtGetCallbackList( + InternalCallbackList* /* callbacks */ +); + +extern void _XtRemoveAllCallbacks( + InternalCallbackList* /* callbacks */ +); + +extern void _XtRemoveCallback( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void _XtPeekCallback( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtCallbackProc * /* callback */, + XtPointer * /* closure */ +); + +extern void _XtCallConditionalCallbackList( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtPointer /* call_data */, + _XtConditionProc /* cond_proc */ +); + +_XFUNCPROTOEND diff --git a/X11/Composite.h b/X11/Composite.h new file mode 100644 index 000000000..c3c982868 --- /dev/null +++ b/X11/Composite.h @@ -0,0 +1,105 @@ +/* $Xorg: Composite.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ +/* $XFree86$ */ + +#ifndef _XtComposite_h +#define _XtComposite_h + +typedef struct _CompositeClassRec *CompositeWidgetClass; + +typedef Cardinal (*XtOrderProc)( + Widget /* child */ +); + +_XFUNCPROTOBEGIN + +extern void XtManageChildren( + WidgetList /* children */, + Cardinal /* num_children */ +); + +extern void XtManageChild( + Widget /* child */ +); + +extern void XtUnmanageChildren( + WidgetList /* children */, + Cardinal /* num_children */ +); + +extern void XtUnmanageChild( + Widget /* child */ +); + +typedef void (*XtDoChangeProc)( + Widget /* composite_parent */, + WidgetList /* unmanage_children */, + Cardinal * /* num_unmanage_children */, + WidgetList /* manage_children */, + Cardinal * /* num_manage_children */, + XtPointer /* client_data */ +); + +extern void XtChangeManagedSet( + WidgetList /* unmanage_children */, + Cardinal /* num_unmanage_children */, + XtDoChangeProc /* do_change_proc */, + XtPointer /* client_data */, + WidgetList /* manage_children */, + Cardinal /* num_manage_children */ +); + +_XFUNCPROTOEND + +#ifndef VMS +externalref WidgetClass compositeWidgetClass; +#endif + +#endif /* _XtComposite_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/CompositeP.h b/X11/CompositeP.h new file mode 100644 index 000000000..e93275ace --- /dev/null +++ b/X11/CompositeP.h @@ -0,0 +1,115 @@ +/* $Xorg: CompositeP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 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 _XtCompositeP_h +#define _XtCompositeP_h + +#include <X11/Composite.h> + +_XFUNCPROTOBEGIN + +/************************************************************************ + * + * Additional instance fields for widgets of (sub)class 'Composite' + * + ************************************************************************/ + +typedef struct _CompositePart { + WidgetList children; /* array of ALL widget children */ + Cardinal num_children; /* total number of widget children */ + Cardinal num_slots; /* number of slots in children array */ + XtOrderProc insert_position; /* compute position of new child */ +} CompositePart,*CompositePtr; + +typedef struct _CompositeRec { + CorePart core; + CompositePart composite; +} CompositeRec; + +/********************************************************************* + * + * Additional class fields for widgets of (sub)class 'Composite' + * + ********************************************************************/ + +typedef struct _CompositeClassPart { + XtGeometryHandler geometry_manager; /* geometry manager for children */ + XtWidgetProc change_managed; /* change managed state of child */ + XtWidgetProc insert_child; /* physically add child to parent */ + XtWidgetProc delete_child; /* physically remove child */ + XtPointer extension; /* pointer to extension record */ +} CompositeClassPart,*CompositePartPtr; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on CompositeClassPart */ + long version; /* must be XtCompositeExtensionVersion */ + Cardinal record_size; /* sizeof(CompositeClassExtensionRec) */ + Boolean accepts_objects; + Boolean allows_change_managed_set; +} CompositeClassExtensionRec, *CompositeClassExtension; + + +typedef struct _CompositeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; +} CompositeClassRec; + +externalref CompositeClassRec compositeClassRec; + +_XFUNCPROTOEND + +#define XtCompositeExtensionVersion 2L +#define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit) +#define XtInheritChangeManaged ((XtWidgetProc) _XtInherit) +#define XtInheritInsertChild ((XtWidgetProc) _XtInherit) +#define XtInheritDeleteChild ((XtWidgetProc) _XtInherit) + +#endif /* _XtCompositeP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/ConstrainP.h b/X11/ConstrainP.h new file mode 100644 index 000000000..7030a3411 --- /dev/null +++ b/X11/ConstrainP.h @@ -0,0 +1,98 @@ +/* $Xorg: ConstrainP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ +/* $oHeader: ConstrainP.h,v 1.2 88/08/18 15:54:15 asente Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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 _XtConstraintP_h +#define _XtConstraintP_h + +#include <X11/Constraint.h> + +_XFUNCPROTOBEGIN + +typedef struct _ConstraintPart { + XtPointer mumble; /* No new fields, keep C compiler happy */ +} ConstraintPart; + +typedef struct _ConstraintRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; +} ConstraintRec, *ConstraintWidget; + +typedef struct _ConstraintClassPart { + XtResourceList resources; /* constraint resource list */ + Cardinal num_resources; /* number of constraints in list */ + Cardinal constraint_size; /* size of constraint record */ + XtInitProc initialize; /* constraint initialization */ + XtWidgetProc destroy; /* constraint destroy proc */ + XtSetValuesFunc set_values; /* constraint set_values proc */ + XtPointer extension; /* pointer to extension record */ +} ConstraintClassPart; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on ConstraintClassPart */ + long version; /* must be XtConstraintExtensionVersion */ + Cardinal record_size; /* sizeof(ConstraintClassExtensionRec) */ + XtArgsProc get_values_hook; +} ConstraintClassExtensionRec, *ConstraintClassExtension; + +typedef struct _ConstraintClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; +} ConstraintClassRec; + +externalref ConstraintClassRec constraintClassRec; + +_XFUNCPROTOEND + +#define XtConstraintExtensionVersion 1L + +#endif /* _XtConstraintP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/Constraint.h b/X11/Constraint.h new file mode 100644 index 000000000..977e7eeac --- /dev/null +++ b/X11/Constraint.h @@ -0,0 +1,64 @@ +/* $Xorg: Constraint.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ +/* $oHeader: Constraint.h,v 1.2 88/08/18 15:54:18 asente Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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 _XtConstraint_h +#define _XtConstraint_h + +_XFUNCPROTOBEGIN + +typedef struct _ConstraintClassRec *ConstraintWidgetClass; + +#ifndef VMS +externalref WidgetClass constraintWidgetClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtConstraint_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/ConvertI.h b/X11/ConvertI.h new file mode 100644 index 000000000..f3f7fb0ba --- /dev/null +++ b/X11/ConvertI.h @@ -0,0 +1,99 @@ +/* $Xorg: ConvertI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/ConvertI.h,v 1.3 2001/12/14 19:56:09 dawes Exp $ */ + +_XFUNCPROTOBEGIN + +/* Representation types */ + +extern XrmQuark _XtQString; + +/* + * Resource conversions + */ + +typedef struct _ConverterRec **ConverterTable; + +extern void _XtAddDefaultConverters( + ConverterTable /* table */ +); + +extern void _XtSetDefaultConverterTable( + ConverterTable* /* table */ +); + +extern void _XtFreeConverterTable( + ConverterTable /* table */ +); + +extern void _XtTableAddConverter( + ConverterTable /* table */, + XrmRepresentation /* from_type */, + XrmRepresentation /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + _XtBoolean /* new_style */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */, + _XtBoolean /* global */ +); + +extern Boolean _XtConvert( + Widget /* widget */, + XrmRepresentation /* from_type */, + XrmValuePtr /* from */, + XrmRepresentation /* to_type */, + XrmValuePtr /* to */, + XtCacheRef* /* cache_ref_return */ +); + +void _XtConvertInitialize(void); + +_XFUNCPROTOEND diff --git a/X11/Core.h b/X11/Core.h new file mode 100644 index 000000000..5127b501a --- /dev/null +++ b/X11/Core.h @@ -0,0 +1,70 @@ +/* +* $Xorg: Core.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ +* $oHeader: Core.h,v 1.2 88/08/18 15:54:32 asente Exp $ +*/ + +/*********************************************************** + +Copyright 1987, 1988, 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 _XtCore_h +#define _XtCore_h + +_XFUNCPROTOBEGIN + +typedef struct _WidgetClassRec *CoreWidgetClass; +typedef struct _WidgetRec *CoreWidget; +externalref WidgetClass coreWidgetClass; + +#ifndef VMS +externalref WidgetClass widgetClass; + +#endif + +_XFUNCPROTOEND + +#endif /* _XtCore_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/CoreP.h b/X11/CoreP.h new file mode 100644 index 000000000..57836e615 --- /dev/null +++ b/X11/CoreP.h @@ -0,0 +1,175 @@ +/* +* $Xorg: CoreP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ +* $oHeader: CoreP.h,v 1.2 88/08/18 15:54:37 asente Exp $ +*/ + +/*********************************************************** + +Copyright 1987, 1988, 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 XtCoreP_h +#define XtCoreP_h + +#include <X11/Core.h> + +_XFUNCPROTOBEGIN + +externalref int _XtInheritTranslations; + +#define XtInheritTranslations ((String) &_XtInheritTranslations) +#define XtInheritRealize ((XtRealizeProc) _XtInherit) +#define XtInheritResize ((XtWidgetProc) _XtInherit) +#define XtInheritExpose ((XtExposeProc) _XtInherit) +#define XtInheritSetValuesAlmost ((XtAlmostProc) _XtInherit) +#define XtInheritAcceptFocus ((XtAcceptFocusProc) _XtInherit) +#define XtInheritQueryGeometry ((XtGeometryHandler) _XtInherit) +#define XtInheritDisplayAccelerator ((XtStringProc) _XtInherit) + +/*************************************************************** + * Widget Core Data Structures + * + * + **************************************************************/ + +typedef struct _CorePart { + 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 */ + Position x, y; /* window position */ + Dimension width, height; /* window dimensions */ + Dimension border_width; /* window border width */ + Boolean managed; /* is widget geometry managed? */ + Boolean sensitive; /* is widget sensitive to user events*/ + Boolean ancestor_sensitive; /* are all ancestors sensitive? */ + XtEventTable event_table; /* private to event dispatcher */ + XtTMRec tm; /* translation management */ + XtTranslations accelerators; /* accelerator translations */ + Pixel border_pixel; /* window border pixel */ + Pixmap border_pixmap; /* window border pixmap or NULL */ + WidgetList popup_list; /* list of popups */ + Cardinal num_popups; /* how many popups */ + String name; /* widget resource name */ + Screen *screen; /* window's screen */ + Colormap colormap; /* colormap */ + Window window; /* window ID */ + Cardinal depth; /* number of planes in window */ + Pixel background_pixel; /* window background pixel */ + Pixmap background_pixmap; /* window background pixmap or NULL */ + Boolean visible; /* is window mapped and not occluded?*/ + Boolean mapped_when_managed;/* map window if it's managed? */ +} CorePart; + +typedef struct _WidgetRec { + CorePart core; + } WidgetRec, CoreRec; + + + +/****************************************************************** + * + * Core Class Structure. Widgets, regardless of their class, will have + * these fields. All widgets of a given class will have the same values + * for these fields. Widgets of a given class may also have additional + * common fields. These additional fields are included in incremental + * class structures, such as CommandClass. + * + * The fields that are specific to this subclass, as opposed to fields that + * are part of the superclass, are called "subclass fields" below. Many + * procedures are responsible only for the subclass fields, and not for + * any superclass fields. + * + ********************************************************************/ + +typedef struct _CoreClassPart { + 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 */ + XtRealizeProc realize; /* XCreateWindow for widget */ + XtActionList actions; /* widget semantics name to proc map */ + Cardinal num_actions; /* number of entries in actions */ + XtResourceList resources; /* resources for subclass fields */ + Cardinal num_resources; /* number of entries in resources */ + XrmClass xrm_class; /* resource class quarkified */ + Boolean compress_motion; /* compress MotionNotify for widget */ + XtEnum compress_exposure; /* compress Expose events for widget*/ + Boolean compress_enterleave;/* compress enter and leave events */ + Boolean visible_interest; /* select for VisibilityNotify */ + XtWidgetProc destroy; /* free data for subclass pointers */ + XtWidgetProc resize; /* geom manager changed widget size */ + XtExposeProc expose; /* rediplay window */ + XtSetValuesFunc set_values; /* set subclass resource values */ + XtArgsFunc set_values_hook; /* notify that set_values called */ + XtAlmostProc set_values_almost; /* set_values got "Almost" geo reply */ + XtArgsProc get_values_hook; /* notify that get_values called */ + XtAcceptFocusProc accept_focus; /* assign input focus to widget */ + XtVersionType version; /* version of intrinsics used */ + XtPointer callback_private; /* list of callback offsets */ + String tm_table; /* state machine */ + XtGeometryHandler query_geometry; /* return preferred geometry */ + XtStringProc display_accelerator;/* display your accelerator */ + XtPointer extension; /* pointer to extension record */ + } CoreClassPart; + +typedef struct _WidgetClassRec { + CoreClassPart core_class; +} WidgetClassRec, CoreClassRec; + +externalref WidgetClassRec widgetClassRec; +#define coreClassRec widgetClassRec + +_XFUNCPROTOEND + +#endif /* _XtCoreP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/CreateI.h b/X11/CreateI.h new file mode 100644 index 000000000..e0ca9a3a6 --- /dev/null +++ b/X11/CreateI.h @@ -0,0 +1,44 @@ +/* $XFree86$ */ + +#ifndef _XtcreateI_h +#define _XtcreateI_h + +_XFUNCPROTOBEGIN + +extern Widget _XtCreateWidget(String name, WidgetClass widget_class, + Widget parent, ArgList args, Cardinal num_args, + XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtCreatePopupShell(String name, WidgetClass widget_class, + Widget parent, ArgList args, + Cardinal num_args, XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtAppCreateShell(String name, String class, + WidgetClass widget_class, Display *display, + ArgList args, Cardinal num_args, + XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtCreateHookObj(Screen *screen); + +_XFUNCPROTOEND + +#include <stdarg.h> + +_XFUNCPROTOBEGIN + +/* VarCreate.c */ +extern Widget _XtVaOpenApplication(XtAppContext *app_context_return, + _Xconst char* application_class, + XrmOptionDescList options, Cardinal num_options, + int *argc_in_out, String *argv_in_out, + String *fallback_resources, WidgetClass widget_class, + va_list var_args); +extern Widget _XtVaAppInitialize(XtAppContext *app_context_return, + _Xconst char* application_class, + XrmOptionDescList options, Cardinal num_options, + int *argc_in_out, String *argv_in_out, + String *fallback_resources, va_list var_args); + +_XFUNCPROTOEND + +#endif /* _XtcreateI_h */ diff --git a/X11/EventI.h b/X11/EventI.h new file mode 100644 index 000000000..d2d1d0f43 --- /dev/null +++ b/X11/EventI.h @@ -0,0 +1,138 @@ +/* $Xorg: EventI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */ +/* $oHeader: EventI.h,v 1.3 88/08/24 09:21:11 asente Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/EventI.h,v 1.3 2001/12/14 19:56:12 dawes Exp $ */ + +/* + * Event.h - exported types and functions for toolkit event handler + * + * Author: Charles Haynes + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Sun Dec 6 1987 + */ + +#ifndef _Event_h_ +#define _Event_h_ + +typedef struct _XtGrabRec *XtGrabList; + +#include "PassivGraI.h" + +_XFUNCPROTOBEGIN + +extern void _XtEventInitialize( + void +); + +typedef struct _XtEventRec { + XtEventTable next; + EventMask mask; /* also select_data count for RecExt */ + XtEventHandler proc; + XtPointer closure; + unsigned int select:1; + unsigned int has_type_specifier:1; + unsigned int async:1; /* not used, here for Digital extension? */ +} XtEventRec; + +typedef struct _XtGrabRec { + XtGrabList next; + Widget widget; + unsigned int exclusive:1; + unsigned int spring_loaded:1; +}XtGrabRec; + +typedef struct _BlockHookRec { + struct _BlockHookRec* next; + XtAppContext app; + XtBlockHookProc proc; + XtPointer closure; +} BlockHookRec, *BlockHook; + +extern void _XtFreeEventTable( + XtEventTable* /* event_table */ +); + +extern Boolean _XtOnGrabList( + Widget /* widget */, + XtGrabRec* /* grabList */ +); + +extern void _XtRemoveAllInputs( + XtAppContext /* app */ +); + +extern void _XtRefreshMapping( + XEvent* /* event */, + _XtBoolean /* dispatch */ +); + +extern void _XtSendFocusEvent( + Widget /* child */, + int /* type */); + +extern EventMask _XtConvertTypeToMask( + int /* eventType */ +); + +/* EventUtil.c */ +extern Widget _XtFindRemapWidget(XEvent *event, Widget widget, + EventMask mask, XtPerDisplayInput pdi); +extern void _XtUngrabBadGrabs(XEvent *event, Widget widget, + EventMask mask, XtPerDisplayInput pdi); +extern void _XtFillAncestorList(Widget **listPtr, int *maxElemsPtr, + int *numElemsPtr, Widget start, + Widget breakWidget); + +/* NextEvent.c */ +extern Boolean XtAppPeekEvent_SkipTimer; + +_XFUNCPROTOEND + +#endif /* _Event_h_ */ diff --git a/X11/HookObjI.h b/X11/HookObjI.h new file mode 100644 index 000000000..c0858c2b5 --- /dev/null +++ b/X11/HookObjI.h @@ -0,0 +1,75 @@ +/* $Xorg: HookObjI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ + +#ifndef _XtHookObjI_h +#define _XtHookObjI_h + +_XFUNCPROTOBEGIN + +/* This object is implementation-dependent and private to the library. */ + +typedef struct _HookObjRec *HookObject; +typedef struct _HookObjClassRec *HookObjectClass; + +externalref WidgetClass hookObjectClass; + +typedef struct _HookObjPart { + /* resources */ + XtCallbackList createhook_callbacks; + XtCallbackList changehook_callbacks; + XtCallbackList confighook_callbacks; + XtCallbackList geometryhook_callbacks; + XtCallbackList destroyhook_callbacks; + WidgetList shells; + Cardinal num_shells; + /* private data */ + Cardinal max_shells; + Screen* screen; +}HookObjPart; + +typedef struct _HookObjRec { + ObjectPart object; + HookObjPart hooks; +} HookObjRec; + +typedef struct _HookObjClassPart { + int unused; +} HookObjClassPart; + +typedef struct _HookObjClassRec { + ObjectClassPart object_class; + HookObjClassPart hook_class; +} HookObjClassRec; + +externalref HookObjClassRec hookObjClassRec; + +_XFUNCPROTOEND + +#endif /* ifndef _Xt_HookObjI_h */ + + diff --git a/X11/InitialI.h b/X11/InitialI.h new file mode 100644 index 000000000..2ae9b743c --- /dev/null +++ b/X11/InitialI.h @@ -0,0 +1,433 @@ +/* $Xorg: InitialI.h,v 1.4 2001/02/09 02:03:55 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/InitialI.h,v 3.10 2001/12/14 19:56:18 dawes Exp $ */ + +#ifndef _XtinitialI_h +#define _XtinitialI_h + +/**************************************************************** + * + * Displays + * + ****************************************************************/ + +#ifndef X_NOT_POSIX +#ifdef _POSIX_SOURCE +#include <limits.h> +#else +#define _POSIX_SOURCE +#include <limits.h> +#undef _POSIX_SOURCE +#endif +#endif +#ifndef PATH_MAX +#ifdef WIN32 +#define PATH_MAX 512 +#else +#include <sys/param.h> +#endif +#ifndef PATH_MAX +#ifdef MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 1024 +#endif +#endif +#endif + +#include <X11/Xos.h> +#include <X11/Xpoll.h> + +_XFUNCPROTOBEGIN + +typedef struct _TimerEventRec { + struct timeval te_timer_value; + struct _TimerEventRec *te_next; + XtTimerCallbackProc te_proc; + XtAppContext app; + XtPointer te_closure; +} TimerEventRec; + +typedef struct _InputEvent { + XtInputCallbackProc ie_proc; + XtPointer ie_closure; + struct _InputEvent *ie_next; + struct _InputEvent *ie_oq; + XtAppContext app; + int ie_source; + XtInputMask ie_condition; +} InputEvent; + +typedef struct _SignalEventRec { + XtSignalCallbackProc se_proc; + XtPointer se_closure; + struct _SignalEventRec *se_next; + XtAppContext app; + Boolean se_notice; +} SignalEventRec; + +typedef struct _WorkProcRec { + XtWorkProc proc; + XtPointer closure; + struct _WorkProcRec *next; + XtAppContext app; +} WorkProcRec; + + +typedef struct +{ +#ifndef USE_POLL + fd_set rmask; + fd_set wmask; + fd_set emask; +#endif + int nfds; +} FdStruct; + +typedef struct _LangProcRec { + XtLanguageProc proc; + XtPointer closure; +} LangProcRec; + +typedef struct _ProcessContextRec { + XtAppContext defaultAppContext; + XtAppContext appContextList; + ConverterTable globalConverterTable; + LangProcRec globalLangProcRec; +} ProcessContextRec, *ProcessContext; + +typedef struct { + char* start; + char* current; + int bytes_remaining; +} Heap; + +typedef struct _DestroyRec DestroyRec; + + +typedef struct _XtAppStruct { + XtAppContext next; /* link to next app in process context */ + ProcessContext process; /* back pointer to our process context */ + InternalCallbackList destroy_callbacks; + Display **list; + TimerEventRec *timerQueue; + WorkProcRec *workQueue; + InputEvent **input_list; + InputEvent *outstandingQueue; + SignalEventRec *signalQueue; + XrmDatabase errorDB; + XtErrorMsgHandler errorMsgHandler, warningMsgHandler; + XtErrorHandler errorHandler, warningHandler; + struct _ActionListRec *action_table; + ConverterTable converterTable; + unsigned long selectionTimeout; + FdStruct fds; + short count; /* num of assigned entries in list */ + short max; /* allocate size of list */ + short last; + short input_count; + short input_max; /* elts input_list init'd with */ + Boolean sync, being_destroyed, error_inited; +#ifndef NO_IDENTIFY_WINDOWS + Boolean identify_windows; /* debugging hack */ +#endif + Heap heap; + String * fallback_resources; /* Set by XtAppSetFallbackResources. */ + struct _ActionHookRec* action_hook_list; + struct _BlockHookRec* block_hook_list; + int destroy_list_size; /* state data for 2-phase destroy */ + int destroy_count; + int dispatch_level; + DestroyRec* destroy_list; + Widget in_phase2_destroy; + LangProcRec langProcRec; + struct _TMBindCacheRec * free_bindings; + String display_name_tried; + Display **dpy_destroy_list; + int dpy_destroy_count; + Boolean exit_flag; + Boolean rebuild_fdlist; +#ifdef XTHREADS + LockPtr lock_info; + ThreadAppProc lock; + ThreadAppProc unlock; + ThreadAppYieldLockProc yield_lock; + ThreadAppRestoreLockProc restore_lock; + ThreadAppProc free_lock; +#endif +} XtAppStruct; + +extern void _XtHeapInit(Heap* heap); +extern void _XtHeapFree(Heap* heap); + +#ifdef XTTRACEMEMORY + + +extern char *_XtHeapMalloc( + Heap* /* heap */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__) + +#else /* XTTRACEMEMORY */ + +extern char* _XtHeapAlloc( + Heap* /* heap */, + Cardinal /* size */ +); + +#endif /* XTTRACEMEMORY */ + +extern void _XtSetDefaultErrorHandlers( + XtErrorMsgHandler* /* errMsg */, + XtErrorMsgHandler* /* warnMsg */, + XtErrorHandler* /* err */, + XtErrorHandler* /* warn */ +); + +extern void _XtSetDefaultSelectionTimeout( + unsigned long* /* timeout */ +); + +extern XtAppContext _XtDefaultAppContext( + void +); + +extern ProcessContext _XtGetProcessContext( + void +); + +Display * +_XtAppInit( + XtAppContext* /* app_context_return */, + String /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String** /* argv_in_out */, + String* /* fallback_resources */ +); + +extern void _XtDestroyAppContexts( + void +); + +extern void _XtCloseDisplays( + XtAppContext /* app */ +); + +extern int _XtAppDestroyCount; + +extern int _XtWaitForSomething( + XtAppContext /* app */, + _XtBoolean /* ignoreEvents */, + _XtBoolean /* ignoreTimers */, + _XtBoolean /* ignoreInputs */, + _XtBoolean /* ignoreSignals */, + _XtBoolean /* block */, +#ifdef XTHREADS + _XtBoolean /* drop_lock */, +#endif + unsigned long* /* howlong */ +); + +typedef struct _CaseConverterRec *CaseConverterPtr; +typedef struct _CaseConverterRec { + KeySym start; /* first KeySym valid in converter */ + KeySym stop; /* last KeySym valid in converter */ + XtCaseProc proc; /* case converter function */ + CaseConverterPtr next; /* next converter record */ +} CaseConverterRec; + +typedef struct _ExtensionSelectorRec { + XtExtensionSelectProc proc; + int min, max; + XtPointer client_data; +} ExtSelectRec; + +typedef struct _XtPerDisplayStruct { + InternalCallbackList destroy_callbacks; + Region region; + CaseConverterPtr case_cvt; /* user-registered case converters */ + XtKeyProc defaultKeycodeTranslator; + XtAppContext appContext; + unsigned long keysyms_serial; /* for tracking MappingNotify events */ + KeySym *keysyms; /* keycode to keysym table */ + int keysyms_per_keycode; /* number of keysyms for each keycode*/ + int min_keycode, max_keycode; /* range of keycodes */ + KeySym *modKeysyms; /* keysym values for modToKeysysm */ + ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/ + unsigned char isModifier[32]; /* key-is-modifier-p bit table */ + KeySym lock_meaning; /* Lock modifier meaning */ + Modifiers mode_switch; /* keyboard group modifiers */ + Modifiers num_lock; /* keyboard numlock modifiers */ + Boolean being_destroyed; + Boolean rv; /* reverse_video resource */ + XrmName name; /* resolved app name */ + XrmClass class; /* application class */ + Heap heap; + struct _GCrec *GClist; /* support for XtGetGC */ + Drawable **pixmap_tab; /* ditto for XtGetGC */ + String language; /* XPG language string */ + XEvent last_event; /* last event dispatched */ + Time last_timestamp; /* from last event dispatched */ + int multi_click_time; /* for XtSetMultiClickTime */ + struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */ + InternalCallbackList mapping_callbacks; /* special case for TM */ + XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */ + struct _WWTable *WWtable; /* window to widget table */ + XrmDatabase *per_screen_db; /* per screen resource databases */ + XrmDatabase cmd_db; /* db from command line, if needed */ + XrmDatabase server_db; /* resource property else .Xdefaults */ + XtEventDispatchProc* dispatcher_list; + ExtSelectRec* ext_select_list; + int ext_select_count; + Widget hook_object; +#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT + Atom rcm_init; /* ResConfig - initialize */ + Atom rcm_data; /* ResConfig - data atom */ +#endif +} XtPerDisplayStruct, *XtPerDisplay; + +typedef struct _PerDisplayTable { + Display *dpy; + XtPerDisplayStruct perDpy; + struct _PerDisplayTable *next; +} PerDisplayTable, *PerDisplayTablePtr; + +extern PerDisplayTablePtr _XtperDisplayList; + +extern XtPerDisplay _XtSortPerDisplayList( + Display* /* dpy */ +); + +extern XtPerDisplay _XtGetPerDisplay( + Display* /* dpy */ +); + +extern XtPerDisplayInputRec* _XtGetPerDisplayInput( + Display* /* dpy */ +); + +#if 0 +#ifdef DEBUG +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#else +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#endif /*DEBUG*/ +#endif + +extern void _XtDisplayInitialize( + Display* /* dpy */, + XtPerDisplay /* pd */, + _Xconst char* /* name */, + XrmOptionDescRec* /* urlist */, + Cardinal /* num_urs */, + int* /* argc */, + char** /* argv */ +); + +extern void _XtCacheFlushTag( + XtAppContext /* app */, + XtPointer /* tag */ +); + +extern void _XtFreeActions( + struct _ActionListRec* /* action_table */ +); + +extern void _XtDoPhase2Destroy( + XtAppContext /* app */, + int /* dispatch_level */ +); + +extern void _XtDoFreeBindings( + XtAppContext /* app */ +); + +extern void _XtExtensionSelect( + Widget /* widget */ +); + +#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0) + +extern void _XtAllocWWTable( + XtPerDisplay pd +); + +extern void _XtFreeWWTable( + XtPerDisplay pd +); + +extern String _XtGetUserName(String dest, int len); +extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist, + Cardinal num_urs, int argc, String *argv, + String *applName, String *displayName, + String *language); + +_XFUNCPROTOEND + +#endif /* _XtinitialI_h */ diff --git a/X11/Intrinsic.h b/X11/Intrinsic.h new file mode 100644 index 000000000..0461b842f --- /dev/null +++ b/X11/Intrinsic.h @@ -0,0 +1,2589 @@ +/* $Xorg: Intrinsic.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */ + +/*********************************************************** +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 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. + +******************************************************************/ + +/* + +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. + +*/ +/* $XFree86: xc/lib/Xt/Intrinsic.h,v 3.8 2001/12/14 19:56:22 dawes Exp $ */ + +#ifndef _XtIntrinsic_h +#define _XtIntrinsic_h + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xresource.h> +#include <X11/Xfuncproto.h> +#ifdef XT_BC +#include <X11/Xos.h> /* for R4 compatibility */ +#else +#include <X11/Xosdefs.h> +#include <string.h> /* for XtNewString */ +#endif /* XT_BC else */ + +#define XtSpecificationRelease 6 + +typedef char *String; + +/* We do this in order to get "const" declarations to work right. We + * use _XtString instead of String so that C++ applications can + * #define String to something else if they choose, to avoid conflicts + * with other C++ libraries. + */ +#define _XtString char* + +/* _Xt names are private to Xt implementation, do not use in client code */ +#if NeedWidePrototypes +#define _XtBoolean int +#define _XtDimension unsigned int +#define _XtKeyCode unsigned int +#define _XtPosition int +#define _XtXtEnum unsigned int +#else +#define _XtBoolean Boolean +#define _XtDimension Dimension +#define _XtKeyCode KeyCode +#define _XtPosition Position +#define _XtXtEnum XtEnum +#endif /* NeedWidePrototypes */ + +#include <stddef.h> + +#ifdef VMS +#define externalref globalref +#define externaldef(psect) globaldef {"psect"} noshare +#else +#define externalref extern +#define externaldef(psect) +#endif /* VMS */ + +#ifndef FALSE +#define FALSE 0 +#define TRUE 1 +#endif + +#define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0]))) + +typedef struct _WidgetRec *Widget; +typedef Widget *WidgetList; +typedef struct _WidgetClassRec *WidgetClass; +typedef struct _CompositeRec *CompositeWidget; +typedef struct _XtActionsRec *XtActionList; +typedef struct _XtEventRec *XtEventTable; + +typedef struct _XtAppStruct *XtAppContext; +typedef unsigned long XtValueMask; +typedef unsigned long XtIntervalId; +typedef unsigned long XtInputId; +typedef unsigned long XtWorkProcId; +typedef unsigned long XtSignalId; +typedef unsigned int XtGeometryMask; +typedef unsigned long XtGCMask; /* Mask of values that are used by widget*/ +typedef unsigned long Pixel; /* Index into colormap */ +typedef int XtCacheType; +#define XtCacheNone 0x001 +#define XtCacheAll 0x002 +#define XtCacheByDisplay 0x003 +#define XtCacheRefCount 0x100 + +/**************************************************************** + * + * System Dependent Definitions; see spec for specific range + * requirements. Do not assume every implementation uses the + * same base types! + * + * + * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc * + * but casting to union types is not really supported. + * + * So the typedef for XtArgVal should be chosen such that + * + * sizeof (XtArgVal) >= sizeof(XtPointer) + * sizeof(char *) + * sizeof(long) + * sizeof(int *) + * sizeof(proc *) + * + * ArgLists rely heavily on the above typedef. + * + ****************************************************************/ +#ifdef CRAY +typedef long Boolean; +typedef char* XtArgVal; +typedef long XtEnum; +#else +typedef char Boolean; +typedef long XtArgVal; +typedef unsigned char XtEnum; +#endif + +typedef unsigned int Cardinal; +typedef unsigned short Dimension; /* Size in pixels */ +typedef short Position; /* Offset from 0 coordinate */ + +typedef void* XtPointer; + +/* The type Opaque is NOT part of the Xt standard, do NOT use it. */ +/* (It remains here only for backward compatibility.) */ +typedef XtPointer Opaque; + +#include <X11/Core.h> +#include <X11/Composite.h> +#include <X11/Constraint.h> +#include <X11/Object.h> +#include <X11/RectObj.h> + +typedef struct _TranslationData *XtTranslations; +typedef struct _TranslationData *XtAccelerators; +typedef unsigned int Modifiers; + +typedef void (*XtActionProc)( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef XtActionProc* XtBoundActions; + +typedef struct _XtActionsRec{ + String string; + XtActionProc proc; +} XtActionsRec; + +typedef enum { +/* address mode parameter representation */ +/* ------------ ------------------------ */ + XtAddress, /* address */ + XtBaseOffset, /* offset */ + XtImmediate, /* constant */ + XtResourceString, /* resource name string */ + XtResourceQuark, /* resource name quark */ + XtWidgetBaseOffset, /* offset from ancestor */ + XtProcedureArg /* procedure to invoke */ +} XtAddressMode; + +typedef struct { + XtAddressMode address_mode; + XtPointer address_id; + Cardinal size; +} XtConvertArgRec, *XtConvertArgList; + +typedef void (*XtConvertArgProc)( + Widget /* widget */, + Cardinal* /* size */, + XrmValue* /* value */ +); + +typedef struct { + XtGeometryMask request_mode; + Position x, y; + Dimension width, height, border_width; + Widget sibling; + int stack_mode; /* Above, Below, TopIf, BottomIf, Opposite, DontChange */ +} XtWidgetGeometry; + +/* Additions to Xlib geometry requests: ask what would happen, don't do it */ +#define XtCWQueryOnly (1 << 7) + +/* Additions to Xlib stack modes: don't change stack order */ +#define XtSMDontChange 5 + +typedef void (*XtConverter)( /* obsolete */ + XrmValue* /* args */, + Cardinal* /* num_args */, + XrmValue* /* from */, + XrmValue* /* to */ +); + +typedef Boolean (*XtTypeConverter)( + Display* /* dpy */, + XrmValue* /* args */, + Cardinal* /* num_args */, + XrmValue* /* from */, + XrmValue* /* to */, + XtPointer* /* converter_data */ +); + +typedef void (*XtDestructor)( + XtAppContext /* app */, + XrmValue* /* to */, + XtPointer /* converter_data */, + XrmValue* /* args */, + Cardinal* /* num_args */ +); + +typedef Opaque XtCacheRef; + +typedef Opaque XtActionHookId; + +typedef void (*XtActionHookProc)( + Widget /* w */, + XtPointer /* client_data */, + String /* action_name */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef unsigned long XtBlockHookId; + +typedef void (*XtBlockHookProc)( + XtPointer /* client_data */ +); + +typedef void (*XtKeyProc)( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +typedef void (*XtCaseProc)( + Display* /* display */, + KeySym /* keysym */, + KeySym* /* lower_return */, + KeySym* /* upper_return */ +); + +typedef void (*XtEventHandler)( + Widget /* widget */, + XtPointer /* closure */, + XEvent* /* event */, + Boolean* /* continue_to_dispatch */ +); +typedef unsigned long EventMask; + +typedef enum {XtListHead, XtListTail } XtListPosition; + +typedef unsigned long XtInputMask; +#define XtInputNoneMask 0L +#define XtInputReadMask (1L<<0) +#define XtInputWriteMask (1L<<1) +#define XtInputExceptMask (1L<<2) + +typedef void (*XtTimerCallbackProc)( + XtPointer /* closure */, + XtIntervalId* /* id */ +); + +typedef void (*XtInputCallbackProc)( + XtPointer /* closure */, + int* /* source */, + XtInputId* /* id */ +); + +typedef void (*XtSignalCallbackProc)( + XtPointer /* closure */, + XtSignalId* /* id */ +); + +typedef struct { + String name; + XtArgVal value; +} Arg, *ArgList; + +typedef XtPointer XtVarArgsList; + +typedef void (*XtCallbackProc)( + Widget /* widget */, + XtPointer /* closure */, /* data the application registered */ + XtPointer /* call_data */ /* callback specific data */ +); + +typedef struct _XtCallbackRec { + XtCallbackProc callback; + XtPointer closure; +} XtCallbackRec, *XtCallbackList; + +typedef enum { + XtCallbackNoList, + XtCallbackHasNone, + XtCallbackHasSome +} XtCallbackStatus; + +typedef enum { + XtGeometryYes, /* Request accepted. */ + XtGeometryNo, /* Request denied. */ + XtGeometryAlmost, /* Request denied, but willing to take replyBox. */ + XtGeometryDone /* Request accepted and done. */ +} XtGeometryResult; + +typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind; + +typedef struct { + Widget shell_widget; + Widget enable_widget; +} XtPopdownIDRec, *XtPopdownID; + +typedef struct _XtResource { + String resource_name; /* Resource name */ + String resource_class; /* Resource class */ + String resource_type; /* Representation type desired */ + Cardinal resource_size; /* Size in bytes of representation */ + Cardinal resource_offset;/* Offset from base to put resource value */ + String default_type; /* representation type of specified default */ + XtPointer default_addr; /* Address of default resource */ +} XtResource, *XtResourceList; + +typedef void (*XtResourceDefaultProc)( + Widget /* widget */, + int /* offset */, + XrmValue* /* value */ +); + +typedef String (*XtLanguageProc)( + Display* /* dpy */, + String /* xnl */, + XtPointer /* client_data */ +); + +typedef void (*XtErrorMsgHandler)( + String /* name */, + String /* type */, + String /* class */, + String /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef void (*XtErrorHandler)( + String /* msg */ +); + +typedef void (*XtCreatePopupChildProc)( + Widget /* shell */ +); + +typedef Boolean (*XtWorkProc)( + XtPointer /* closure */ /* data the application registered */ +); + +typedef struct { + char match; + String substitution; +} SubstitutionRec, *Substitution; + +typedef Boolean (*XtFilePredicate)( + String /* filename */ +); + +typedef XtPointer XtRequestId; + +typedef Boolean (*XtConvertSelectionProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + Atom* /* type_return */, + XtPointer* /* value_return */, + unsigned long* /* length_return */, + int* /* format_return */ +); + +typedef void (*XtLoseSelectionProc)( + Widget /* widget */, + Atom* /* selection */ +); + +typedef void (*XtSelectionDoneProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */ +); + +typedef void (*XtSelectionCallbackProc)( + Widget /* widget */, + XtPointer /* closure */, + Atom* /* selection */, + Atom* /* type */, + XtPointer /* value */, + unsigned long* /* length */, + int* /* format */ +); + +typedef void (*XtLoseSelectionIncrProc)( + Widget /* widget */, + Atom* /* selection */, + XtPointer /* client_data */ +); + +typedef void (*XtSelectionDoneIncrProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + XtRequestId* /* receiver_id */, + XtPointer /* client_data */ +); + +typedef Boolean (*XtConvertSelectionIncrProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + Atom* /* type */, + XtPointer* /* value */, + unsigned long* /* length */, + int* /* format */, + unsigned long* /* max_length */, + XtPointer /* client_data */, + XtRequestId* /* receiver_id */ +); + +typedef void (*XtCancelConvertSelectionProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + XtRequestId* /* receiver_id */, + XtPointer /* client_data */ +); + +typedef Boolean (*XtEventDispatchProc)( + XEvent* /* event */ +); + +typedef void (*XtExtensionSelectProc)( + Widget /* widget */, + int* /* event_types */, + XtPointer* /* select_data */, + int /* count */, + XtPointer /* client_data */ +); + +/*************************************************************** + * + * Exported Interfaces + * + ****************************************************************/ + +_XFUNCPROTOBEGIN + +extern Boolean XtConvertAndStore( + Widget /* widget */, + _Xconst _XtString /* from_type */, + XrmValue* /* from */, + _Xconst _XtString /* to_type */, + XrmValue* /* to_in_out */ +); + +extern Boolean XtCallConverter( + Display* /* dpy */, + XtTypeConverter /* converter */, + XrmValuePtr /* args */, + Cardinal /* num_args */, + XrmValuePtr /* from */, + XrmValue* /* to_in_out */, + XtCacheRef* /* cache_ref_return */ +); + +extern Boolean XtDispatchEvent( + XEvent* /* event */ +); + +extern Boolean XtCallAcceptFocus( + Widget /* widget */, + Time* /* time */ +); + +extern Boolean XtPeekEvent( /* obsolete */ + XEvent* /* event_return */ +); + +extern Boolean XtAppPeekEvent( + XtAppContext /* app_context */, + XEvent* /* event_return */ +); + +extern Boolean XtIsSubclass( + Widget /* widget */, + WidgetClass /* widgetClass */ +); + +extern Boolean XtIsObject( + Widget /* object */ +); + +extern Boolean _XtCheckSubclassFlag( /* implementation-private */ + Widget /* object */, + _XtXtEnum /* type_flag */ +); + +extern Boolean _XtIsSubclassOf( /* implementation-private */ + Widget /* object */, + WidgetClass /* widget_class */, + WidgetClass /* flag_class */, + _XtXtEnum /* type_flag */ +); + +extern Boolean XtIsManaged( + Widget /* rectobj */ +); + +extern Boolean XtIsRealized( + Widget /* widget */ +); + +extern Boolean XtIsSensitive( + Widget /* widget */ +); + +extern Boolean XtOwnSelection( + Widget /* widget */, + Atom /* selection */, + Time /* time */, + XtConvertSelectionProc /* convert */, + XtLoseSelectionProc /* lose */, + XtSelectionDoneProc /* done */ +); + +extern Boolean XtOwnSelectionIncremental( + Widget /* widget */, + Atom /* selection */, + Time /* time */, + XtConvertSelectionIncrProc /* convert_callback */, + XtLoseSelectionIncrProc /* lose_callback */, + XtSelectionDoneIncrProc /* done_callback */, + XtCancelConvertSelectionProc /* cancel_callback */, + XtPointer /* client_data */ +); + +extern XtGeometryResult XtMakeResizeRequest( + Widget /* widget */, + _XtDimension /* width */, + _XtDimension /* height */, + Dimension* /* width_return */, + Dimension* /* height_return */ +); + +extern void XtTranslateCoords( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */, + Position* /* rootx_return */, + Position* /* rooty_return */ +); + +extern KeySym* XtGetKeysymTable( + Display* /* dpy */, + KeyCode* /* min_keycode_return */, + int* /* keysyms_per_keycode_return */ +); + +extern void XtKeysymToKeycodeList( + Display* /* dpy */, + KeySym /* keysym */, + KeyCode** /* keycodes_return */, + Cardinal* /* keycount_return */ +); + +extern void XtStringConversionWarning( /* obsolete */ + _Xconst _XtString /* from_value */, + _Xconst _XtString /* to_type */ +); + +extern void XtDisplayStringConversionWarning( + Display* /* dpy */, + _Xconst _XtString /* from_value */, + _Xconst _XtString /* to_type */ +); + +externalref XtConvertArgRec const colorConvertArgs[]; +externalref XtConvertArgRec const screenConvertArg[]; + +extern void XtAppAddConverter( /* obsolete */ + XtAppContext /* app_context */, + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */ +); + +extern void XtAddConverter( /* obsolete */ + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */ +); + +extern void XtSetTypeConverter( + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */ +); + +extern void XtAppSetTypeConverter( + XtAppContext /* app_context */, + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */ +); + +extern void XtConvert( /* obsolete */ + Widget /* widget */, + _Xconst _XtString /* from_type */, + XrmValue* /* from */, + _Xconst _XtString /* to_type */, + XrmValue* /* to_return */ +); + +extern void XtDirectConvert( /* obsolete */ + XtConverter /* converter */, + XrmValuePtr /* args */, + Cardinal /* num_args */, + XrmValuePtr /* from */, + XrmValue* /* to_return */ +); + +/**************************************************************** + * + * Translation Management + * + ****************************************************************/ + +extern XtTranslations XtParseTranslationTable( + _Xconst _XtString /* table */ +); + +extern XtAccelerators XtParseAcceleratorTable( + _Xconst _XtString /* source */ +); + +extern void XtOverrideTranslations( + Widget /* widget */, + XtTranslations /* translations */ +); + +extern void XtAugmentTranslations( + Widget /* widget */, + XtTranslations /* translations */ +); + +extern void XtInstallAccelerators( + Widget /* destination */, + Widget /* source */ +); + +extern void XtInstallAllAccelerators( + Widget /* destination */, + Widget /* source */ +); + +extern void XtUninstallTranslations( + Widget /* widget */ +); + +extern void XtAppAddActions( + XtAppContext /* app_context */, + XtActionList /* actions */, + Cardinal /* num_actions */ +); + +extern void XtAddActions( /* obsolete */ + XtActionList /* actions */, + Cardinal /* num_actions */ +); + +extern XtActionHookId XtAppAddActionHook( + XtAppContext /* app_context */, + XtActionHookProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtRemoveActionHook( + XtActionHookId /* id */ +); + +extern void XtGetActionList( + WidgetClass /* widget_class */, + XtActionList* /* actions_return */, + Cardinal* /* num_actions_return */ +); + +extern void XtCallActionProc( + Widget /* widget */, + _Xconst _XtString /* action */, + XEvent* /* event */, + String* /* params */, + Cardinal /* num_params */ +); + +extern void XtRegisterGrabAction( + XtActionProc /* action_proc */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern void XtSetMultiClickTime( + Display* /* dpy */, + int /* milliseconds */ +); + +extern int XtGetMultiClickTime( + Display* /* dpy */ +); + +extern KeySym XtGetActionKeysym( + XEvent* /* event */, + Modifiers* /* modifiers_return */ +); + +/*************************************************************** + * + * Keycode and Keysym procedures for translation management + * + ****************************************************************/ + +extern void XtTranslateKeycode( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +extern void XtTranslateKey( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +extern void XtSetKeyTranslator( + Display* /* dpy */, + XtKeyProc /* proc */ +); + +extern void XtRegisterCaseConverter( + Display* /* dpy */, + XtCaseProc /* proc */, + KeySym /* start */, + KeySym /* stop */ +); + +extern void XtConvertCase( + Display* /* dpy */, + KeySym /* keysym */, + KeySym* /* lower_return */, + KeySym* /* upper_return */ +); + +/**************************************************************** + * + * Event Management + * + ****************************************************************/ + +/* XtAllEvents is valid only for XtRemoveEventHandler and + * XtRemoveRawEventHandler; don't use it to select events! + */ +#define XtAllEvents ((EventMask) -1L) + +extern void XtAddEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtAddRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtInsertEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern void XtInsertRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern XtEventDispatchProc XtSetEventDispatcher( + Display* /* dpy */, + int /* event_type */, + XtEventDispatchProc /* proc */ +); + +extern Boolean XtDispatchEventToWidget( + Widget /* widget */, + XEvent* /* event */ +); + +extern void XtInsertEventTypeHandler( + Widget /* widget */, + int /* type */, + XtPointer /* select_data */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern void XtRemoveEventTypeHandler( + Widget /* widget */, + int /* type */, + XtPointer /* select_data */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern EventMask XtBuildEventMask( + Widget /* widget */ +); + +extern void XtRegisterExtensionSelector( + Display* /* dpy */, + int /* min_event_type */, + int /* max_event_type */, + XtExtensionSelectProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtAddGrab( + Widget /* widget */, + _XtBoolean /* exclusive */, + _XtBoolean /* spring_loaded */ +); + +extern void XtRemoveGrab( + Widget /* widget */ +); + +extern void XtProcessEvent( /* obsolete */ + XtInputMask /* mask */ +); + +extern void XtAppProcessEvent( + XtAppContext /* app_context */, + XtInputMask /* mask */ +); + +extern void XtMainLoop( /* obsolete */ + void +); + +extern void XtAppMainLoop( + XtAppContext /* app_context */ +); + +extern void XtAddExposureToRegion( + XEvent* /* event */, + Region /* region */ +); + +extern void XtSetKeyboardFocus( + Widget /* subtree */, + Widget /* descendent */ +); + +extern Widget XtGetKeyboardFocusWidget( + Widget /* widget */ +); + +extern XEvent* XtLastEventProcessed( + Display* /* dpy */ +); + +extern Time XtLastTimestampProcessed( + Display* /* dpy */ +); + +/**************************************************************** + * + * Event Gathering Routines + * + ****************************************************************/ + +extern XtIntervalId XtAddTimeOut( /* obsolete */ + unsigned long /* interval */, + XtTimerCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern XtIntervalId XtAppAddTimeOut( + XtAppContext /* app_context */, + unsigned long /* interval */, + XtTimerCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveTimeOut( + XtIntervalId /* timer */ +); + +extern XtInputId XtAddInput( /* obsolete */ + int /* source */, + XtPointer /* condition */, + XtInputCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern XtInputId XtAppAddInput( + XtAppContext /* app_context */, + int /* source */, + XtPointer /* condition */, + XtInputCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveInput( + XtInputId /* id */ +); + +extern XtSignalId XtAddSignal( + XtSignalCallbackProc /* proc */, + XtPointer /* closure */); + +extern XtSignalId XtAppAddSignal( + XtAppContext /* app_context */, + XtSignalCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveSignal( + XtSignalId /* id */ +); + +extern void XtNoticeSignal( + XtSignalId /* id */ +); + +extern void XtNextEvent( /* obsolete */ + XEvent* /* event */ +); + +extern void XtAppNextEvent( + XtAppContext /* app_context */, + XEvent* /* event_return */ +); + +#define XtIMXEvent 1 +#define XtIMTimer 2 +#define XtIMAlternateInput 4 +#define XtIMSignal 8 +#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal) + +extern Boolean XtPending( /* obsolete */ + void +); + +extern XtInputMask XtAppPending( + XtAppContext /* app_context */ +); + +extern XtBlockHookId XtAppAddBlockHook( + XtAppContext /* app_context */, + XtBlockHookProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtRemoveBlockHook( + XtBlockHookId /* id */ +); + +/**************************************************************** + * + * Random utility routines + * + ****************************************************************/ + +#define XtIsRectObj(object) (_XtCheckSubclassFlag(object, (XtEnum)0x02)) +#define XtIsWidget(object) (_XtCheckSubclassFlag(object, (XtEnum)0x04)) +#define XtIsComposite(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x08)) +#define XtIsConstraint(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x10)) +#define XtIsShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x20)) + +#undef XtIsOverrideShell +extern Boolean XtIsOverrideShell(Widget /* object */); +#define XtIsOverrideShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \ + (WidgetClass)shellWidgetClass, (XtEnum)0x20)) + +#define XtIsWMShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x40)) + +#undef XtIsVendorShell +extern Boolean XtIsVendorShell(Widget /* object */); +#define XtIsVendorShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \ + (WidgetClass)wmShellWidgetClass, (XtEnum)0x40)) + +#undef XtIsTransientShell +extern Boolean XtIsTransientShell(Widget /* object */); +#define XtIsTransientShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \ + (WidgetClass)wmShellWidgetClass, (XtEnum)0x40)) +#define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80)) + +#undef XtIsApplicationShell +extern Boolean XtIsApplicationShell(Widget /* object */); +#define XtIsApplicationShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \ + (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80)) + +#undef XtIsSessionShell +extern Boolean XtIsSessionShell(Widget /* object */); +#define XtIsSessionShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \ + (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80)) + +extern void XtRealizeWidget( + Widget /* widget */ +); + +void XtUnrealizeWidget( + Widget /* widget */ +); + +extern void XtDestroyWidget( + Widget /* widget */ +); + +extern void XtSetSensitive( + Widget /* widget */, + _XtBoolean /* sensitive */ +); + +extern void XtSetMappedWhenManaged( + Widget /* widget */, + _XtBoolean /* mapped_when_managed */ +); + +extern Widget XtNameToWidget( + Widget /* reference */, + _Xconst _XtString /* names */ +); + +extern Widget XtWindowToWidget( + Display* /* display */, + Window /* window */ +); + +extern XtPointer XtGetClassExtension( + WidgetClass /* object_class */, + Cardinal /* byte_offset */, + XrmQuark /* type */, + long /* version */, + Cardinal /* record_size */ +); + +/*************************************************************** + * + * Arg lists + * + ****************************************************************/ + + +#define XtSetArg(arg, n, d) \ + ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) )) + +extern ArgList XtMergeArgLists( + ArgList /* args1 */, + Cardinal /* num_args1 */, + ArgList /* args2 */, + Cardinal /* num_args2 */ +); + +/*************************************************************** + * + * Vararg lists + * + ****************************************************************/ + +#define XtVaNestedList "XtVaNestedList" +#define XtVaTypedArg "XtVaTypedArg" + +extern XtVarArgsList XtVaCreateArgsList( + XtPointer /*unused*/, ... +) _X_SENTINEL(0); + +/************************************************************* + * + * Information routines + * + ************************************************************/ + +#ifndef _XtIntrinsicP_h + +/* We're not included from the private file, so define these */ + +extern Display *XtDisplay( + Widget /* widget */ +); + +extern Display *XtDisplayOfObject( + Widget /* object */ +); + +extern Screen *XtScreen( + Widget /* widget */ +); + +extern Screen *XtScreenOfObject( + Widget /* object */ +); + +extern Window XtWindow( + Widget /* widget */ +); + +extern Window XtWindowOfObject( + Widget /* object */ +); + +extern String XtName( + Widget /* object */ +); + +extern WidgetClass XtSuperclass( + Widget /* object */ +); + +extern WidgetClass XtClass( + Widget /* object */ +); + +extern Widget XtParent( + Widget /* widget */ +); + +#endif /*_XtIntrinsicP_h*/ + +#undef XtMapWidget +extern void XtMapWidget(Widget /* w */); +#define XtMapWidget(widget) XMapWindow(XtDisplay(widget), XtWindow(widget)) + +#undef XtUnmapWidget +extern void XtUnmapWidget(Widget /* w */); +#define XtUnmapWidget(widget) \ + XUnmapWindow(XtDisplay(widget), XtWindow(widget)) + +extern void XtAddCallback( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void XtRemoveCallback( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void XtAddCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackList /* callbacks */ +); + +extern void XtRemoveCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackList /* callbacks */ +); + +extern void XtRemoveAllCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */ +); + + +extern void XtCallCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtPointer /* call_data */ +); + +extern void XtCallCallbackList( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtPointer /* call_data */ +); + +extern XtCallbackStatus XtHasCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */ +); + +/**************************************************************** + * + * Geometry Management + * + ****************************************************************/ + + +extern XtGeometryResult XtMakeGeometryRequest( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply_return */ +); + +extern XtGeometryResult XtQueryGeometry( + Widget /* widget */, + XtWidgetGeometry* /* intended */, + XtWidgetGeometry* /* preferred_return */ +); + +extern Widget XtCreatePopupShell( + _Xconst _XtString /* name */, + WidgetClass /* widgetClass */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaCreatePopupShell( + _Xconst _XtString /* name */, + WidgetClass /* widgetClass */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern void XtPopup( + Widget /* popup_shell */, + XtGrabKind /* grab_kind */ +); + +extern void XtPopupSpringLoaded( + Widget /* popup_shell */ +); + +extern void XtCallbackNone( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtCallbackNonexclusive( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtCallbackExclusive( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtPopdown( + Widget /* popup_shell */ +); + +extern void XtCallbackPopdown( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtMenuPopupAction( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern Widget XtCreateWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtCreateManagedWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaCreateWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern Widget XtVaCreateManagedWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern Widget XtCreateApplicationShell( /* obsolete */ + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtAppCreateShell( + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + WidgetClass /* widget_class */, + Display* /* display */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaAppCreateShell( + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + WidgetClass /* widget_class */, + Display* /* display */, + ... +) _X_SENTINEL(0); + +/**************************************************************** + * + * Toolkit initialization + * + ****************************************************************/ + +extern void XtToolkitInitialize( + void +); + +extern XtLanguageProc XtSetLanguageProc( + XtAppContext /* app_context */, + XtLanguageProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtDisplayInitialize( + XtAppContext /* app_context */, + Display* /* dpy */, + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern Widget XtOpenApplication( + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + WidgetClass /* widget_class */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaOpenApplication( + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + WidgetClass /* widget_class */, + ... +) _X_SENTINEL(0); + +extern Widget XtAppInitialize( /* obsolete */ + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaAppInitialize( /* obsolete */ + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + ... +) _X_SENTINEL(0); + +extern Widget XtInitialize( /* obsolete */ + _Xconst _XtString /* shell_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern Display *XtOpenDisplay( + XtAppContext /* app_context */, + _Xconst _XtString /* display_string */, + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern XtAppContext XtCreateApplicationContext( + void +); + +extern void XtAppSetFallbackResources( + XtAppContext /* app_context */, + String* /* specification_list */ +); + +extern void XtDestroyApplicationContext( + XtAppContext /* app_context */ +); + +extern void XtInitializeWidgetClass( + WidgetClass /* widget_class */ +); + +extern XtAppContext XtWidgetToApplicationContext( + Widget /* widget */ +); + +extern XtAppContext XtDisplayToApplicationContext( + Display* /* dpy */ +); + +extern XrmDatabase XtDatabase( + Display* /* dpy */ +); + +extern XrmDatabase XtScreenDatabase( + Screen* /* screen */ +); + +extern void XtCloseDisplay( + Display* /* dpy */ +); + +extern void XtGetApplicationResources( + Widget /* widget */, + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetApplicationResources( + Widget /* widget */, + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetSubresources( + Widget /* widget */, + XtPointer /* base */, + _Xconst _XtString /* name */, + _Xconst _XtString /* class */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetSubresources( + Widget /* widget */, + XtPointer /* base */, + _Xconst _XtString /* name */, + _Xconst _XtString /* class */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtSetValues( + Widget /* widget */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaSetValues( + Widget /* widget */, + ... +) _X_SENTINEL(0); + +extern void XtGetValues( + Widget /* widget */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetValues( + Widget /* widget */, + ... +) _X_SENTINEL(0); + +extern void XtSetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaSetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetResourceList( + WidgetClass /* widget_class */, + XtResourceList* /* resources_return */, + Cardinal* /* num_resources_return */ +); + +extern void XtGetConstraintResourceList( + WidgetClass /* widget_class */, + XtResourceList* /* resources_return */, + Cardinal* /* num_resources_return */ +); + +#define XtUnspecifiedPixmap ((Pixmap)2) +#define XtUnspecifiedShellInt (-1) +#define XtUnspecifiedWindow ((Window)2) +#define XtUnspecifiedWindowGroup ((Window)3) +#define XtCurrentDirectory "XtCurrentDirectory" +#define XtDefaultForeground "XtDefaultForeground" +#define XtDefaultBackground "XtDefaultBackground" +#define XtDefaultFont "XtDefaultFont" +#define XtDefaultFontSet "XtDefaultFontSet" + +#if defined(CRAY) +#define XtOffset(p_type,field) _Offsetof(p_type,field) +#else /* ! CRAY */ +#define XtOffset(p_type,field) \ + ((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL))) +#endif /* !CRAY */ + +#ifdef offsetof +#define XtOffsetOf(s_type,field) offsetof(s_type,field) +#else +#define XtOffsetOf(s_type,field) XtOffset(s_type*,field) +#endif + +/************************************************************* + * + * Session Management + * + ************************************************************/ + +typedef struct _XtCheckpointTokenRec { + int save_type; + int interact_style; + Boolean shutdown; + Boolean fast; + Boolean cancel_shutdown; + int phase; + int interact_dialog_type; /* return */ + Boolean request_cancel; /* return */ + Boolean request_next_phase; /* return */ + Boolean save_success; /* return */ + int type; /* implementation private */ + Widget widget; /* implementation private */ +} XtCheckpointTokenRec, *XtCheckpointToken; + +XtCheckpointToken XtSessionGetToken( + Widget /* widget */ +); + +void XtSessionReturnToken( + XtCheckpointToken /* token */ +); + +/************************************************************* + * + * Error Handling + * + ************************************************************/ + +extern XtErrorMsgHandler XtAppSetErrorMsgHandler( + XtAppContext /* app_context */, + XtErrorMsgHandler /* handler */ +); + +extern void XtSetErrorMsgHandler( /* obsolete */ + XtErrorMsgHandler /* handler */ +); + +extern XtErrorMsgHandler XtAppSetWarningMsgHandler( + XtAppContext /* app_context */, + XtErrorMsgHandler /* handler */ +); + +extern void XtSetWarningMsgHandler( /* obsolete */ + XtErrorMsgHandler /* handler */ +); + +extern void XtAppErrorMsg( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtErrorMsg( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtAppWarningMsg( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtWarningMsg( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern XtErrorHandler XtAppSetErrorHandler( + XtAppContext /* app_context */, + XtErrorHandler /* handler */ +); + +extern void XtSetErrorHandler( /* obsolete */ + XtErrorHandler /* handler */ +); + +extern XtErrorHandler XtAppSetWarningHandler( + XtAppContext /* app_context */, + XtErrorHandler /* handler */ +); + +extern void XtSetWarningHandler( /* obsolete */ + XtErrorHandler /* handler */ +); + +extern void XtAppError( + XtAppContext /* app_context */, + _Xconst _XtString /* message */ +); + +extern void XtError( /* obsolete */ + _Xconst _XtString /* message */ +); + +extern void XtAppWarning( + XtAppContext /* app_context */, + _Xconst _XtString /* message */ +); + +extern void XtWarning( /* obsolete */ + _Xconst _XtString /* message */ +); + +extern XrmDatabase *XtAppGetErrorDatabase( + XtAppContext /* app_context */ +); + +extern XrmDatabase *XtGetErrorDatabase( /* obsolete */ + void +); + +extern void XtAppGetErrorDatabaseText( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String /* buffer_return */, + int /* nbytes */, + XrmDatabase /* database */ +); + +extern void XtGetErrorDatabaseText( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String /* buffer_return */, + int /* nbytes */ +); + +/**************************************************************** + * + * Memory Management + * + ****************************************************************/ + +extern char *XtMalloc( + Cardinal /* size */ +); + +extern char *XtCalloc( + Cardinal /* num */, + Cardinal /* size */ +); + +extern char *XtRealloc( + char* /* ptr */, + Cardinal /* num */ +); + +extern void XtFree( + char* /* ptr */ +); + +#ifdef XTTRACEMEMORY + +extern char *_XtMalloc( /* implementation-private */ + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern char *_XtRealloc( /* implementation-private */ + char * /* ptr */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern char *_XtCalloc( /* implementation-private */ + Cardinal /* num */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern void _XtFree( /* implementation-private */ + char * /* ptr */ +); + +#define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__) +#define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__) +#define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__) +#define XtFree(ptr) _XtFree(ptr) + +#endif /* ifdef XTTRACEMEMORY */ + +#define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type))) + +#undef XtNewString +extern String XtNewString(String /* str */); +#define XtNewString(str) \ + ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL) + +/************************************************************* + * + * Work procs + * + **************************************************************/ + +extern XtWorkProcId XtAddWorkProc( /* obsolete */ + XtWorkProc /* proc */, + XtPointer /* closure */ +); + +extern XtWorkProcId XtAppAddWorkProc( + XtAppContext /* app_context */, + XtWorkProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveWorkProc( + XtWorkProcId /* id */ +); + + +/**************************************************************** + * + * Graphic Context Management + *****************************************************************/ + +extern GC XtGetGC( + Widget /* widget */, + XtGCMask /* valueMask */, + XGCValues* /* values */ +); + +extern GC XtAllocateGC( + Widget /* widget */, + Cardinal /* depth */, + XtGCMask /* valueMask */, + XGCValues* /* values */, + XtGCMask /* dynamicMask */, + XtGCMask /* unusedMask */ +); + +/* This implementation of XtDestroyGC differs from the formal specification + * for historic backwards compatibility reasons. As other implementations + * may conform to the spec, use of XtReleaseGC is strongly encouraged. + */ +extern void XtDestroyGC( /* obsolete */ + GC /* gc */ +); + +extern void XtReleaseGC( + Widget /* object */, + GC /* gc */ +); + + + +extern void XtAppReleaseCacheRefs( + XtAppContext /* app_context */, + XtCacheRef* /* cache_ref */ +); + +extern void XtCallbackReleaseCacheRef( + Widget /* widget */, + XtPointer /* closure */, /* XtCacheRef */ + XtPointer /* call_data */ +); + +extern void XtCallbackReleaseCacheRefList( + Widget /* widget */, + XtPointer /* closure */, /* XtCacheRef* */ + XtPointer /* call_data */ +); + +extern void XtSetWMColormapWindows( + Widget /* widget */, + Widget* /* list */, + Cardinal /* count */ +); + +extern String XtFindFile( + _Xconst _XtString /* path */, + Substitution /* substitutions */, + Cardinal /* num_substitutions */, + XtFilePredicate /* predicate */ +); + +extern String XtResolvePathname( + Display* /* dpy */, + _Xconst _XtString /* type */, + _Xconst _XtString /* filename */, + _Xconst _XtString /* suffix */, + _Xconst _XtString /* path */, + Substitution /* substitutions */, + Cardinal /* num_substitutions */, + XtFilePredicate /* predicate */ +); + +/**************************************************************** + * + * Selections + * + *****************************************************************/ + +#define XT_CONVERT_FAIL (Atom)0x80000001 + +extern void XtDisownSelection( + Widget /* widget */, + Atom /* selection */, + Time /* time */ +); + +extern void XtGetSelectionValue( + Widget /* widget */, + Atom /* selection */, + Atom /* target */, + XtSelectionCallbackProc /* callback */, + XtPointer /* closure */, + Time /* time */ +); + +extern void XtGetSelectionValues( + Widget /* widget */, + Atom /* selection */, + Atom* /* targets */, + int /* count */, + XtSelectionCallbackProc /* callback */, + XtPointer* /* closures */, + Time /* time */ +); + +extern void XtAppSetSelectionTimeout( + XtAppContext /* app_context */, + unsigned long /* timeout */ +); + +extern void XtSetSelectionTimeout( /* obsolete */ + unsigned long /* timeout */ +); + +extern unsigned long XtAppGetSelectionTimeout( + XtAppContext /* app_context */ +); + +extern unsigned long XtGetSelectionTimeout( /* obsolete */ + void +); + +extern XSelectionRequestEvent *XtGetSelectionRequest( + Widget /* widget */, + Atom /* selection */, + XtRequestId /* request_id */ +); + +extern void XtGetSelectionValueIncremental( + Widget /* widget */, + Atom /* selection */, + Atom /* target */, + XtSelectionCallbackProc /* selection_callback */, + XtPointer /* client_data */, + Time /* time */ +); + +extern void XtGetSelectionValuesIncremental( + Widget /* widget */, + Atom /* selection */, + Atom* /* targets */, + int /* count */, + XtSelectionCallbackProc /* callback */, + XtPointer* /* client_data */, + Time /* time */ +); + +extern void XtSetSelectionParameters( + Widget /* requestor */, + Atom /* selection */, + Atom /* type */, + XtPointer /* value */, + unsigned long /* length */, + int /* format */ +); + +extern void XtGetSelectionParameters( + Widget /* owner */, + Atom /* selection */, + XtRequestId /* request_id */, + Atom* /* type_return */, + XtPointer* /* value_return */, + unsigned long* /* length_return */, + int* /* format_return */ +); + +extern void XtCreateSelectionRequest( + Widget /* requestor */, + Atom /* selection */ +); + +extern void XtSendSelectionRequest( + Widget /* requestor */, + Atom /* selection */, + Time /* time */ +); + +extern void XtCancelSelectionRequest( + Widget /* requestor */, + Atom /* selection */ +); + +extern Atom XtReservePropertyAtom( + Widget /* widget */ +); + +extern void XtReleasePropertyAtom( + Widget /* widget */, + Atom /* selection */ +); + +extern void XtGrabKey( + Widget /* widget */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + _XtBoolean /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern void XtUngrabKey( + Widget /* widget */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */ +); + +extern int XtGrabKeyboard( + Widget /* widget */, + _XtBoolean /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */, + Time /* time */ +); + +extern void XtUngrabKeyboard( + Widget /* widget */, + Time /* time */ +); + +extern void XtGrabButton( + Widget /* widget */, + int /* button */, + Modifiers /* modifiers */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */ +); + +extern void XtUngrabButton( + Widget /* widget */, + unsigned int /* button */, + Modifiers /* modifiers */ +); + +extern int XtGrabPointer( + Widget /* widget */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */, + Time /* time */ +); + +extern void XtUngrabPointer( + Widget /* widget */, + Time /* time */ +); + +extern void XtGetApplicationNameAndClass( + Display* /* dpy */, + String* /* name_return */, + String* /* class_return */ +); + +extern void XtRegisterDrawable( + Display* /* dpy */, + Drawable /* drawable */, + Widget /* widget */ +); + +extern void XtUnregisterDrawable( + Display* /* dpy */, + Drawable /* drawable */ +); + +extern Widget XtHooksOfDisplay( + Display* /* dpy */ +); + +typedef struct { + String type; + Widget widget; + ArgList args; + Cardinal num_args; +} XtCreateHookDataRec, *XtCreateHookData; + +typedef struct { + String type; + Widget widget; + XtPointer event_data; + Cardinal num_event_data; +} XtChangeHookDataRec, *XtChangeHookData; + +typedef struct { + Widget old, req; + ArgList args; + Cardinal num_args; +} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData; + +typedef struct { + String type; + Widget widget; + XtGeometryMask changeMask; + XWindowChanges changes; +} XtConfigureHookDataRec, *XtConfigureHookData; + +typedef struct { + String type; + Widget widget; + XtWidgetGeometry* request; + XtWidgetGeometry* reply; + XtGeometryResult result; +} XtGeometryHookDataRec, *XtGeometryHookData; + +typedef struct { + String type; + Widget widget; +} XtDestroyHookDataRec, *XtDestroyHookData; + +extern void XtGetDisplays( + XtAppContext /* app_context */, + Display*** /* dpy_return */, + Cardinal* /* num_dpy_return */ +); + +extern Boolean XtToolkitThreadInitialize( + void +); + +extern void XtAppSetExitFlag( + XtAppContext /* app_context */ +); + +extern Boolean XtAppGetExitFlag( + XtAppContext /* app_context */ +); + +extern void XtAppLock( + XtAppContext /* app_context */ +); + +extern void XtAppUnlock( + XtAppContext /* app_context */ +); + +/* + * Predefined Resource Converters + */ + + +/* String converters */ + +extern Boolean XtCvtStringToAcceleratorTable( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToAtom( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToBool( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToBoolean( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToCommandArgArray( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToCursor( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDimension( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDirectoryString( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDisplay( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFile( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFloat( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFont( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFontSet( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display, locale */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFontStruct( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToGravity( + Display* /* dpy */, + XrmValuePtr /* args */, + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToInitialState( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToInt( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, Colormap */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtStringToPosition XtCvtStringToShort + +extern Boolean XtCvtStringToRestartStyle( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToShort( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToTranslationTable( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToUnsignedChar( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToVisual( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, depth */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* int converters */ + +extern Boolean XtCvtIntToBool( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToBoolean( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToColor( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, Colormap */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtIntToDimension XtCvtIntToShort + +extern Boolean XtCvtIntToFloat( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToFont( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToPixmap( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtIntToPosition XtCvtIntToShort + +extern Boolean XtCvtIntToShort( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToUnsignedChar( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* Color converter */ + +extern Boolean XtCvtColorToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* Pixel converter */ + +#define XtCvtPixelToColor XtCvtIntToColor + + +_XFUNCPROTOEND + +#endif /*_XtIntrinsic_h*/ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/IntrinsicI.h b/X11/IntrinsicI.h new file mode 100644 index 000000000..d88166fc3 --- /dev/null +++ b/X11/IntrinsicI.h @@ -0,0 +1,265 @@ +/* $Xorg: IntrinsicI.h,v 1.4 2001/02/09 02:03:55 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/IntrinsicI.h,v 3.8 2001/12/14 19:56:25 dawes Exp $ */ + +#ifndef _XtintrinsicI_h +#define _XtintrinsicI_h + +#include "Xtos.h" +#include "IntrinsicP.h" +#ifdef WIN32 +#define _WILLWINSOCK_ +#endif +#include <X11/Xos.h> + +#include "Object.h" +#include "RectObj.h" +#include "ObjectP.h" +#include "RectObjP.h" + +#include "ConvertI.h" +#include "TranslateI.h" + +#define RectObjClassFlag 0x02 +#define WidgetClassFlag 0x04 +#define CompositeClassFlag 0x08 +#define ConstraintClassFlag 0x10 +#define ShellClassFlag 0x20 +#define WMShellClassFlag 0x40 +#define TopLevelClassFlag 0x80 + +/* + * The following macros, though very handy, are not suitable for + * IntrinsicP.h as they violate the rule that arguments are to + * be evaluated exactly once. + */ + +#define XtDisplayOfObject(object) \ + (XtIsWidget(object) ? (object)->core.screen->display : \ + _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen->display : \ + _XtWindowedAncestor(object)->core.screen->display) + +#define XtScreenOfObject(object) \ + (XtIsWidget(object) ? (object)->core.screen : \ + _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen : \ + _XtWindowedAncestor(object)->core.screen) + +#define XtWindowOfObject(object) \ + ((XtIsWidget(object) ? (object) : _XtWindowedAncestor(object)) \ + ->core.window) + +#define XtIsManaged(object) \ + (XtIsRectObj(object) ? (object)->core.managed : False) + +#define XtIsSensitive(object) \ + (XtIsRectObj(object) ? ((object)->core.sensitive && \ + (object)->core.ancestor_sensitive) : False) + + +/**************************************************************** + * + * Byte utilities + * + ****************************************************************/ + +#define _XBCOPYFUNC _XtBcopy +#include <X11/Xfuncs.h> + +/* If the alignment characteristics of your machine are right, these may be + faster */ + +#ifdef UNALIGNED + +#define XtMemmove(dst, src, size) \ + if ((char *)(dst) != (char *)(src)) { \ + if (size == sizeof(int)) \ + *((int *) (dst)) = *((int *) (src)); \ + else if (size == sizeof(char)) \ + *((char *) (dst)) = *((char *) (src)); \ + else if (size == sizeof(short)) \ + *((short *) (dst)) = *((short *) (src)); \ + else \ + (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \ + } + +#define XtBZero(dst, size) \ + if (size == sizeof(int)) \ + *((int *) (dst)) = 0; \ + else \ + bzero((char *) (dst), (int) (size)) + +#define XtMemcmp(b1, b2, size) \ + (size == sizeof(int) ? \ + *((int *) (b1)) != *((int *) (b2)) \ + : memcmp((char *) (b1), (char *) (b2), (int) (size)) \ + ) + +#else + +#define XtMemmove(dst, src, size) \ + if ((char *)(dst) != (char *)(src)) { \ + (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \ + } + +#define XtBZero(dst, size) \ + bzero((char *) (dst), (int) (size)) + +#define XtMemcmp(b1, b2, size) \ + memcmp((char *) (b1), (char *) (b2), (int) (size)) + +#endif + + +/**************************************************************** + * + * Stack cache allocation/free + * + ****************************************************************/ + +#define XtStackAlloc(size, stack_cache_array) \ + ((size) <= sizeof(stack_cache_array) \ + ? (XtPointer)(stack_cache_array) \ + : XtMalloc((unsigned)(size))) + +#define XtStackFree(pointer, stack_cache_array) \ + { if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); } + +/*************************************************************** + * + * Filename defines + * + **************************************************************/ + +/* used by XtResolvePathname */ +#ifndef XFILESEARCHPATHDEFAULT +#define XFILESEARCHPATHDEFAULT "/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S" +#endif + +/* the following two were both "X Toolkit " prior to R4 */ +#ifndef XTERROR_PREFIX +#define XTERROR_PREFIX "" +#endif + +#ifndef XTWARNING_PREFIX +#define XTWARNING_PREFIX "" +#endif + +#ifndef ERRORDB +#define ERRORDB "/usr/lib/X11/XtErrorDB" +#endif + +_XFUNCPROTOBEGIN + +extern String XtCXtToolkitError; + +extern void _XtAllocError( + String /* alloc_type */ +); + +extern void _XtCompileResourceList( + XtResourceList /* resources */, + Cardinal /* num_resources */ +); + +extern XtGeometryResult _XtMakeGeometryRequest( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply_return */, + Boolean* /* clear_rect_obj */ +); + +extern Boolean _XtIsHookObject( + Widget /* widget */ +); + +extern void _XtAddShellToHookObj( + Widget /* widget */ +); + +/* GCManager.c */ +extern void _XtGClistFree(Display *dpy, XtPerDisplay pd); + +/** GeoTattler stuff */ + +#ifdef XT_GEO_TATTLER + +extern void _XtGeoTab (int); +extern void _XtGeoTrace ( + Widget widget, + ... +) _X_ATTRIBUTE_PRINTF(2,3); + +#define CALLGEOTAT(f) f + +#else /* XT_GEO_TATTLER */ + +#define CALLGEOTAT(f) + +#endif /* XT_GEO_TATTLER */ + +#ifndef XTTRACEMEMORY + +extern char* __XtMalloc ( + unsigned /* size */ +); +extern char* __XtCalloc ( + unsigned /* num */, + unsigned /* size */ +); + +#else + +#define __XtMalloc XtMalloc +#define __XtCalloc XtCalloc +#endif + +_XFUNCPROTOEND + +#endif /* _XtintrinsicI_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/IntrinsicP.h b/X11/IntrinsicP.h new file mode 100644 index 000000000..517c55d2b --- /dev/null +++ b/X11/IntrinsicP.h @@ -0,0 +1,327 @@ +/* $Xorg: IntrinsicP.h,v 1.4 2001/02/09 02:03:55 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. + +******************************************************************/ +/* $XFree86$ */ + +#ifndef _XtintrinsicP_h +#define _XtintrinsicP_h + +#include <X11/Intrinsic.h> + +/* + * Field sizes and offsets of XrmResource must match those of XtResource. + * Type long is used instead of XrmQuark here because XrmQuark and String + * are not the same size on all systems. + */ +typedef struct { + long xrm_name; /* Resource name quark */ + long xrm_class; /* Resource class quark */ + long xrm_type; /* Resource representation type quark */ + Cardinal xrm_size; /* Size in bytes of representation */ + int xrm_offset; /* -offset-1 */ + long xrm_default_type; /* Default representation type quark */ + XtPointer xrm_default_addr; /* Default resource address */ +} XrmResource, *XrmResourceList; + +typedef unsigned long XtVersionType; + +#define XT_VERSION 11 +#ifndef XT_REVISION +#define XT_REVISION 6 +#endif +#define XtVersion (XT_VERSION * 1000 + XT_REVISION) +#define XtVersionDontCheck 0 + +typedef void (*XtProc)( + void +); + +typedef void (*XtWidgetClassProc)( + WidgetClass /* class */ +); + +typedef void (*XtWidgetProc)( + Widget /* widget */ +); + +typedef Boolean (*XtAcceptFocusProc)( + Widget /* widget */, + Time* /* time */ +); + +typedef void (*XtArgsProc)( + Widget /* widget */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef void (*XtInitProc)( + Widget /* request */, + Widget /* new */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef Boolean (*XtSetValuesFunc)( + Widget /* old */, + Widget /* request */, + Widget /* new */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef Boolean (*XtArgsFunc)( + Widget /* widget */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef void (*XtAlmostProc)( + Widget /* old */, + Widget /* new */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply */ +); + +typedef void (*XtExposeProc)( + Widget /* widget */, + XEvent* /* event */, + Region /* region */ +); + +/* compress_exposure options*/ +#define XtExposeNoCompress ((XtEnum)False) +#define XtExposeCompressSeries ((XtEnum)True) +#define XtExposeCompressMultiple 2 +#define XtExposeCompressMaximal 3 + +/* modifiers */ +#define XtExposeGraphicsExpose 0x10 +#define XtExposeGraphicsExposeMerged 0x20 +#define XtExposeNoExpose 0x40 +#define XtExposeNoRegion 0x80 + +typedef void (*XtRealizeProc)( + Widget /* widget */, + XtValueMask* /* mask */, + XSetWindowAttributes* /* attributes */ +); + +typedef XtGeometryResult (*XtGeometryHandler)( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply */ +); + +typedef void (*XtStringProc)( + Widget /* widget */, + String /* str */ +); + +typedef struct { + String name; /* resource name */ + String type; /* representation type name */ + XtArgVal value; /* representation */ + int size; /* size of representation */ +} XtTypedArg, *XtTypedArgList; + +typedef void (*XtAllocateProc)( + WidgetClass /* widget_class */, + Cardinal * /* constraint_size */, + Cardinal * /* more_bytes */, + ArgList /* args */, + Cardinal * /* num_args */, + XtTypedArgList /* typed_args */, + Cardinal * /* num_typed_args */, + Widget * /* widget_return */, + XtPointer * /* more_bytes_return */ +); + +typedef void (*XtDeallocateProc)( + Widget /* widget */, + XtPointer /* more_bytes */ +); + +struct _XtStateRec; /* Forward declare before use for C++ */ + +typedef struct _XtTMRec { + XtTranslations translations; /* private to Translation Manager */ + XtBoundActions proc_table; /* procedure bindings for actions */ + struct _XtStateRec *current_state; /* Translation Manager state ptr */ + unsigned long lastEventTime; +} XtTMRec, *XtTM; + +#include <X11/CoreP.h> +#include <X11/CompositeP.h> +#include <X11/ConstrainP.h> +#include <X11/ObjectP.h> +#include <X11/RectObjP.h> + +#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen) +#define XtScreen(widget) ((widget)->core.screen) +#define XtWindow(widget) ((widget)->core.window) + +#define XtClass(widget) ((widget)->core.widget_class) +#define XtSuperclass(widget) (XtClass(widget)->core_class.superclass) +#define XtIsRealized(object) (XtWindowOfObject(object) != None) +#define XtParent(widget) ((widget)->core.parent) + +#undef XtIsRectObj +extern Boolean XtIsRectObj(Widget); +#define XtIsRectObj(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x02) + +#undef XtIsWidget +extern Boolean XtIsWidget(Widget); +#define XtIsWidget(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x04) + +#undef XtIsComposite +extern Boolean XtIsComposite(Widget); +#define XtIsComposite(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x08) + +#undef XtIsConstraint +extern Boolean XtIsConstraint(Widget); +#define XtIsConstraint(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x10) + +#undef XtIsShell +extern Boolean XtIsShell(Widget); +#define XtIsShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x20) + +#undef XtIsWMShell +extern Boolean XtIsWMShell(Widget); +#define XtIsWMShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x40) + +#undef XtIsTopLevelShell +extern Boolean XtIsTopLevelShell(Widget); +#define XtIsTopLevelShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x80) + +#ifdef DEBUG +#define XtCheckSubclass(w, widget_class_ptr, message) \ + if (!XtIsSubclass(((Widget)(w)), (widget_class_ptr))) { \ + String params[3]; \ + Cardinal num_params = 3; \ + params[0] = ((Widget)(w))->core.widget_class->core_class.class_name;\ + params[1] = (widget_class_ptr)->core_class.class_name; \ + params[2] = (message); \ + XtAppErrorMsg(XtWidgetToApplicationContext((Widget)(w)), \ + "subclassMismatch", "xtCheckSubclass", "XtToolkitError", \ + "Widget class %s found when subclass of %s expected: %s",\ + params, &num_params); \ + } +#else +#define XtCheckSubclass(w, widget_class, message) /* nothing */ +#endif + +_XFUNCPROTOBEGIN + +extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */ + Widget /* object */ +); + +extern void _XtInherit( + void +); + +extern void _XtHandleFocus( + Widget /* widget */, + XtPointer /* client_data */, + XEvent * /* event */, + Boolean * /* cont */); + +extern void XtCreateWindow( + Widget /* widget */, + unsigned int /* window_class */, + Visual* /* visual */, + XtValueMask /* value_mask */, + XSetWindowAttributes* /* attributes */ +); + +extern void XtResizeWidget( + Widget /* widget */, + _XtDimension /* width */, + _XtDimension /* height */, + _XtDimension /* border_width */ +); + +extern void XtMoveWidget( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */ +); + +extern void XtConfigureWidget( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */, + _XtDimension /* width */, + _XtDimension /* height */, + _XtDimension /* border_width */ +); + +extern void XtResizeWindow( + Widget /* widget */ +); + +extern void XtProcessLock( + void +); + +extern void XtProcessUnlock( + void +); + +_XFUNCPROTOEND + +#endif /* _XtIntrinsicP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/Object.h b/X11/Object.h new file mode 100644 index 000000000..5ef65de3c --- /dev/null +++ b/X11/Object.h @@ -0,0 +1,65 @@ +/* $Xorg: Object.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */ +/* $oHeader: Object.h,v 1.2 88/08/18 15:55:32 asente Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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 _XtObject_h +#define _XtObject_h + +_XFUNCPROTOBEGIN + +typedef struct _ObjectRec *Object; +typedef struct _ObjectClassRec *ObjectClass; + +#ifndef VMS +externalref WidgetClass objectClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtObject_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ 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_*/ diff --git a/X11/PassivGraI.h b/X11/PassivGraI.h new file mode 100644 index 000000000..10591ac4d --- /dev/null +++ b/X11/PassivGraI.h @@ -0,0 +1,190 @@ +/* +* $Xorg: PassivGraI.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ +*/ + +/******************************************************** + +Copyright 1988 by Hewlett-Packard Company +Copyright 1987, 1988, 1989 by Digital Equipment Corporation, Maynard + +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 names of +Hewlett-Packard or 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. + +********************************************************/ + +/* + +Copyright 1987, 1988, 1989, 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. + +*/ +/* $XFree86: xc/lib/Xt/PassivGraI.h,v 1.3 2001/12/14 19:56:27 dawes Exp $ */ + +#ifndef _PDI_h_ +#define _PDI_h_ + + +#define KEYBOARD TRUE +#define POINTER FALSE + +_XFUNCPROTOBEGIN + +typedef enum { + XtNoServerGrab, + XtPassiveServerGrab, + XtActiveServerGrab, + XtPseudoPassiveServerGrab, + XtPseudoActiveServerGrab +}XtServerGrabType; + +typedef struct _XtServerGrabRec { + struct _XtServerGrabRec *next; + Widget widget; + unsigned int ownerEvents:1; + unsigned int pointerMode:1; + unsigned int keyboardMode:1; + unsigned int hasExt:1; + unsigned int confineToIsWidgetWin:1; + KeyCode keybut; + unsigned short modifiers; + unsigned short eventMask; +} XtServerGrabRec, *XtServerGrabPtr; + +typedef struct _XtGrabExtRec { + Mask *pKeyButMask; + Mask *pModifiersMask; + Window confineTo; + Cursor cursor; +} XtServerGrabExtRec, *XtServerGrabExtPtr; + +#define GRABEXT(p) ((XtServerGrabExtPtr)((p)+1)) + +typedef struct _XtDeviceRec{ + XtServerGrabRec grab; /* need copy in order to protect + during grab */ + XtServerGrabType grabType; +}XtDeviceRec, *XtDevice; + +#define XtMyAncestor 0 +#define XtMyDescendant 1 +#define XtMyCousin 2 +#define XtMySelf 3 +#define XtUnrelated 4 +typedef char XtGeneology; /* do not use an enum makes PerWidgetInput larger */ + +typedef struct { + Widget focusKid; + XtServerGrabPtr keyList, ptrList; + Widget queryEventDescendant; + unsigned int map_handler_added:1; + unsigned int realize_handler_added:1; + unsigned int active_handler_added:1; + unsigned int haveFocus:1; + XtGeneology focalPoint; +}XtPerWidgetInputRec, *XtPerWidgetInput; + +typedef struct XtPerDisplayInputRec{ + XtGrabList grabList; + XtDeviceRec keyboard, pointer; + KeyCode activatingKey; + Widget *trace; + int traceDepth, traceMax; + Widget focusWidget; +}XtPerDisplayInputRec, *XtPerDisplayInput; + +#define IsServerGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtActiveServerGrab)) + +#define IsAnyGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtActiveServerGrab) ||\ + (g == XtPseudoPassiveServerGrab)) + +#define IsEitherPassiveGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtPseudoPassiveServerGrab)) + +#define IsPseudoGrab(g) ((g == XtPseudoPassiveServerGrab)) + +extern void _XtDestroyServerGrabs( + Widget /* w */, + XtPointer /* pwi */, /*XtPerWidgetInput*/ + XtPointer /* call_data */ +); + +extern XtPerWidgetInput _XtGetPerWidgetInput( + Widget /* widget */, + _XtBoolean /* create */ +); + +extern XtServerGrabPtr _XtCheckServerGrabsOnWidget( + XEvent* /* event */, + Widget /* widget */, + _XtBoolean /* isKeyboard */ +); + +/* +extern XtGrabList* _XtGetGrabList( XtPerDisplayInput ); +*/ + +#define _XtGetGrabList(pdi) (&(pdi)->grabList) + +extern void _XtFreePerWidgetInput( + Widget /* w */, + XtPerWidgetInput /* pwi */ +); + +extern Widget _XtProcessKeyboardEvent( + XKeyEvent* /* event */, + Widget /* widget */, + XtPerDisplayInput /* pdi */ +); + +extern Widget _XtProcessPointerEvent( + XButtonEvent* /* event */, + Widget /* widget */, + XtPerDisplayInput /* pdi */ +); + +extern void _XtRegisterPassiveGrabs( + Widget /* widget */ +); + +extern void _XtClearAncestorCache( + Widget /* widget */ +); + +_XFUNCPROTOEND + +#endif /* _PDI_h_ */ diff --git a/X11/RectObj.h b/X11/RectObj.h new file mode 100644 index 000000000..81e43a5e2 --- /dev/null +++ b/X11/RectObj.h @@ -0,0 +1,65 @@ +/* $Xorg: RectObj.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */ +/* $oHeader: RectObj.h,v 1.2 88/08/18 17:39:17 asente Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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 _XtRect_h +#define _XtRect_h + +_XFUNCPROTOBEGIN + +typedef struct _RectObjRec *RectObj; +typedef struct _RectObjClassRec *RectObjClass; + +#ifndef VMS +externalref WidgetClass rectObjClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtRect_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/RectObjP.h b/X11/RectObjP.h new file mode 100644 index 000000000..d6ffb7823 --- /dev/null +++ b/X11/RectObjP.h @@ -0,0 +1,133 @@ +/* $Xorg: RectObjP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */ +/* $oHeader: RectObjP.h,v 1.2 88/08/18 15:55:52 asente Exp $ */ +/*********************************************************** + +Copyright 1987, 1988, 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_RectObjP_h_ +#define _Xt_RectObjP_h_ + +#include <X11/RectObj.h> +#include <X11/ObjectP.h> + +_XFUNCPROTOBEGIN + +/********************************************************** + * Rectangle Object Instance Data Structures + * + **********************************************************/ +/* these fields match CorePart and can not be changed */ + +typedef struct _RectObjPart { + Position x, y; /* rectangle position */ + Dimension width, height; /* rectangle dimensions */ + Dimension border_width; /* rectangle border width */ + Boolean managed; /* is widget geometry managed? */ + Boolean sensitive; /* is widget sensitive to user events*/ + Boolean ancestor_sensitive; /* are all ancestors sensitive? */ +}RectObjPart; + +typedef struct _RectObjRec { + ObjectPart object; + RectObjPart rectangle; +} RectObjRec; + + + +/******************************************************** + * Rectangle 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 _RectObjClassPart { + + 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 rect1; /* NULL */ + XtPointer rect2; /* NULL */ + Cardinal rect3; /* NULL */ + XtResourceList resources; /* resources for subclass fields */ + Cardinal num_resources; /* number of entries in resources */ + XrmClass xrm_class; /* resource class quarkified */ + Boolean rect4; /* NULL */ + XtEnum rect5; /* NULL */ + Boolean rect6; /* NULL */ + Boolean rect7; /* NULL */ + XtWidgetProc destroy; /* free data for subclass pointers */ + XtWidgetProc resize; /* geom manager changed widget size */ + XtExposeProc expose; /* rediplay rectangle */ + XtSetValuesFunc set_values; /* set subclass resource values */ + XtArgsFunc set_values_hook; /* notify that set_values called */ + XtAlmostProc set_values_almost; /* set values almost for geometry */ + XtArgsProc get_values_hook; /* notify that get_values called */ + XtProc rect9; /* NULL */ + XtVersionType version; /* version of intrinsics used */ + XtPointer callback_private; /* list of callback offsets */ + String rect10; /* NULL */ + XtGeometryHandler query_geometry; /* return preferred geometry */ + XtProc rect11; /* NULL */ + XtPointer extension; /* pointer to extension record */ +} RectObjClassPart; + +typedef struct _RectObjClassRec { + RectObjClassPart rect_class; +} RectObjClassRec; + +externalref RectObjClassRec rectObjClassRec; + +_XFUNCPROTOEND + +#endif /*_Xt_RectObjP_h_*/ diff --git a/X11/ResConfigP.h b/X11/ResConfigP.h new file mode 100644 index 000000000..a06cda715 --- /dev/null +++ b/X11/ResConfigP.h @@ -0,0 +1,78 @@ +/* $Xorg: ResConfigP.h,v 1.5 2001/02/09 02:03:56 xorgcvs Exp $ */ +/* + +Copyright 1987, 1988, 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. + +*/ +/***************************************************************** + +(C) COPYRIGHT International Business Machines Corp. 1992,1997 + All Rights Reserved + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +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 IBM CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL 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 IBM Corporation 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 IBM +Corporation. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/ResConfigP.h,v 3.7 2001/12/20 19:40:59 tsi Exp $ */ + +#ifndef _RESCONFIGP_H +#define _RESCONFIGP_H + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/* + * Atom names for resource configuration management customization tool. + */ +#define RCM_DATA "Custom Data" +#define RCM_INIT "Custom Init" + +extern void _XtResourceConfigurationEH( + Widget /* w */, + XtPointer /* client_data */, + XEvent * /* event */ +); + +_XFUNCPROTOEND + +#endif diff --git a/X11/ResourceI.h b/X11/ResourceI.h new file mode 100644 index 000000000..3db97f83e --- /dev/null +++ b/X11/ResourceI.h @@ -0,0 +1,103 @@ +/* $Xorg: ResourceI.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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/ResourceI.h,v 1.5 2001/12/14 19:56:28 dawes Exp $ */ + +/**************************************************************** + * + * Resources + * + ****************************************************************/ + +#ifndef _XtresourceI_h +#define _XtresourceI_h + +#define StringToQuark(string) XrmStringToQuark(string) +#define StringToName(string) XrmStringToName(string) +#define StringToClass(string) XrmStringToClass(string) + +_XFUNCPROTOBEGIN + +extern void _XtDependencies( + XtResourceList * /* class_resp */, + Cardinal * /* class_num_resp */, + XrmResourceList * /* super_res */, + Cardinal /* super_num_res */, + Cardinal /* super_widget_size */); + +extern void _XtResourceDependencies( + WidgetClass /* wc */ +); + +extern void _XtConstraintResDependencies( + ConstraintWidgetClass /* wc */ +); + +extern XtCacheRef* _XtGetResources( + Widget /* w */, + ArgList /* args */, + Cardinal /* num_args */, + XtTypedArgList /* typed_args */, + Cardinal* /* num_typed_args */ +); + +extern void _XtCopyFromParent( + Widget /* widget */, + int /* offset */, + XrmValue* /* value */ +); + +extern void _XtCopyToArg(char *src, XtArgVal *dst, unsigned int size); +extern void _XtCopyFromArg(XtArgVal src, char *dst, unsigned int size); +extern XrmResourceList* _XtCreateIndirectionTable(XtResourceList resources, + Cardinal num_resources); +extern void _XtResourceListInitialize(void); + +_XFUNCPROTOEND + +#endif /* _XtresourceI_h */ diff --git a/X11/SelectionI.h b/X11/SelectionI.h new file mode 100644 index 000000000..e589aece5 --- /dev/null +++ b/X11/SelectionI.h @@ -0,0 +1,170 @@ +/* $Xorg: SelectionI.h,v 1.4 2001/02/09 02:03:58 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 _XtselectionI_h +#define _XtselectionI_h + +#include "Intrinsic.h" + +typedef struct _RequestRec *Request; +typedef struct _SelectRec *Select; + +typedef struct _RequestRec { + Select ctx; /* logical owner */ + Widget widget; /* widget actually receiving Selection events */ + Window requestor; + Atom property; + Atom target; + Atom type; + int format; + XtPointer value; + unsigned long bytelength; + unsigned long offset; + XtIntervalId timeout; + XSelectionRequestEvent event; /* for XtGetSelectionRequest */ + Boolean allSent; +} RequestRec; + +typedef struct { + Atom prop; + Boolean avail; +} SelectionPropRec, *SelectionProp; + +typedef struct { + Display *dpy; + Atom incr_atom, indirect_atom, timestamp_atom; + int propCount; + SelectionProp list; +} PropListRec, *PropList; + +typedef struct _SelectRec { + Atom selection; /* constant */ + Display *dpy; /* constant */ + Widget widget; + Time time; + unsigned long serial; + XtConvertSelectionProc convert; + XtLoseSelectionProc loses; + XtSelectionDoneProc notify; + XtCancelConvertSelectionProc owner_cancel; + XtPointer owner_closure; + PropList prop_list; + Request req; /* state for local non-incr xfer */ + int ref_count; /* of active transfers */ + unsigned int incremental:1; + unsigned int free_when_done:1; + unsigned int was_disowned:1; +} SelectRec; + +typedef struct _ParamRec { + Atom selection; + Atom param; +} ParamRec, *Param; + +typedef struct _ParamInfoRec { + unsigned int count; + Param paramlist; +} ParamInfoRec, *ParamInfo; + +typedef struct _QueuedRequestRec { + Atom selection; + Atom target; + Atom param; + XtSelectionCallbackProc callback; + XtPointer closure; + Time time; + Boolean incremental; +} QueuedRequestRec, *QueuedRequest; + +typedef struct _QueuedRequestInfoRec { + int count; + Atom *selections; + QueuedRequest *requests; +} QueuedRequestInfoRec, *QueuedRequestInfo; + +typedef struct { + XtSelectionCallbackProc *callbacks; + XtPointer *req_closure; + Atom property; + Atom *target; + Atom type; + int format; + char *value; + int bytelength; + int offset; + XtIntervalId timeout; + XtEventHandler proc; + Widget widget; + Time time; + Select ctx; + Boolean *incremental; + int current; +} CallBackInfoRec, *CallBackInfo; + +typedef struct { + Atom target; + Atom property; +} IndirectPair; + +#define IndirectPairWordSize 2 + +typedef struct { + int active_transfer_count; +} RequestWindowRec; + +#define MAX_SELECTION_INCR(dpy) (((65536 < XMaxRequestSize(dpy)) ? \ + (65536 << 2) : (XMaxRequestSize(dpy) << 2))-100) + +#define MATCH_SELECT(event, info) ((event->time == info->time) && \ + (event->requestor == XtWindow(info->widget)) && \ + (event->selection == info->ctx->selection) && \ + (event->target == *info->target)) + +#endif /* _XtselectionI_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/ShellI.h b/X11/ShellI.h new file mode 100644 index 000000000..6a093d791 --- /dev/null +++ b/X11/ShellI.h @@ -0,0 +1,12 @@ +/* $XFree86$ */ + +#ifndef _XtShellInternal_h +#define _XtShellInternal_h + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +extern void _XtShellGetCoordinates(Widget widget, Position *x, Position *y); + +#endif /* _XtShellInternal_h */ diff --git a/X11/ShellP.h b/X11/ShellP.h new file mode 100644 index 000000000..6d2b44bae --- /dev/null +++ b/X11/ShellP.h @@ -0,0 +1,438 @@ +/* $Xorg: ShellP.h,v 1.4 2001/02/09 02:03:58 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. + +******************************************************************/ + +/* + * ShellP.h - Private definitions for Shell widget + * + * Author: Paul Asente + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Thu Dec 3, 1987 + */ + +#ifndef _XtShellPrivate_h +#define _XtShellPrivate_h + +#include <X11/Shell.h> + +/* ***** + * ***** VendorP.h is included later on; it needs fields defined in the first + * ***** part of this header file + * ***** + */ + +_XFUNCPROTOBEGIN + +/*********************************************************************** + * + * Shell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the Shell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} ShellClassPart; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on ShellClassPart */ + long version; /* must be XtShellExtensionVersion */ + Cardinal record_size; /* sizeof(ShellClassExtensionRec) */ + XtGeometryHandler root_geometry_manager; +} ShellClassExtensionRec, *ShellClassExtension; + +#define XtShellExtensionVersion 1L +#define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit) + +typedef struct _ShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; +} ShellClassRec; + +externalref ShellClassRec shellClassRec; + +/* New fields for the shell widget */ + +typedef struct { + char *geometry; + XtCreatePopupChildProc create_popup_child_proc; + XtGrabKind grab_kind; + Boolean spring_loaded; + Boolean popped_up; + Boolean allow_shell_resize; + Boolean client_specified; /* re-using old name */ +#define _XtShellPositionValid ((Boolean)(1<<0)) +#define _XtShellNotReparented ((Boolean)(1<<1)) +#define _XtShellPPositionOK ((Boolean)(1<<2)) +#define _XtShellGeometryParsed ((Boolean)(1<<3)) + Boolean save_under; + Boolean override_redirect; + + XtCallbackList popup_callback; + XtCallbackList popdown_callback; + Visual* visual; +} ShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; +} ShellRec, *ShellWidget; + +/*********************************************************************** + * + * OverrideShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the OverrideShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} OverrideShellClassPart; + +typedef struct _OverrideShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + OverrideShellClassPart override_shell_class; +} OverrideShellClassRec; + +externalref OverrideShellClassRec overrideShellClassRec; + +/* No new fields for the override shell widget */ + +typedef struct {int frabjous;} OverrideShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + OverrideShellPart override; +} OverrideShellRec, *OverrideShellWidget; + +/*********************************************************************** + * + * WMShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the WMShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} WMShellClassPart; + +typedef struct _WMShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; +} WMShellClassRec; + +externalref WMShellClassRec wmShellClassRec; + +/* New fields for the WM shell widget */ + +typedef struct { + char *title; + int wm_timeout; + Boolean wait_for_wm; + Boolean transient; + Boolean urgency; + Widget client_leader; + String window_role; + struct _OldXSizeHints { /* pre-R4 Xlib structure */ + long flags; + int x, y; + int width, height; + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; + struct { + int x; + int y; + } min_aspect, max_aspect; + } size_hints; + XWMHints wm_hints; + int base_width, base_height; + int win_gravity; + Atom title_encoding; +} WMShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; +} WMShellRec, *WMShellWidget; + +_XFUNCPROTOEND + +#include <X11/VendorP.h> + +_XFUNCPROTOBEGIN + +/*********************************************************************** + * + * TransientShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the TransientShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} TransientShellClassPart; + +typedef struct _TransientShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TransientShellClassPart transient_shell_class; +} TransientShellClassRec; + +externalref TransientShellClassRec transientShellClassRec; + +/* New fields for the transient shell widget */ + +typedef struct { + Widget transient_for; +} TransientShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TransientShellPart transient; +} TransientShellRec, *TransientShellWidget; + +/*********************************************************************** + * + * TopLevelShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the TopLevelShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} TopLevelShellClassPart; + +typedef struct _TopLevelShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; +} TopLevelShellClassRec; + +externalref TopLevelShellClassRec topLevelShellClassRec; + +/* New fields for the top level shell widget */ + +typedef struct { + char *icon_name; + Boolean iconic; + Atom icon_name_encoding; +} TopLevelShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; +} TopLevelShellRec, *TopLevelShellWidget; + +/*********************************************************************** + * + * ApplicationShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the ApplicationShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} ApplicationShellClassPart; + +typedef struct _ApplicationShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; + ApplicationShellClassPart application_shell_class; +} ApplicationShellClassRec; + +externalref ApplicationShellClassRec applicationShellClassRec; + +/* New fields for the application shell widget */ + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + char *c_class; +#else + char *class; +#endif + XrmClass xrm_class; + int argc; + char **argv; +} ApplicationShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; + ApplicationShellPart application; +} ApplicationShellRec, *ApplicationShellWidget; + +/*********************************************************************** + * + * SessionShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the SessionShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} SessionShellClassPart; + +typedef struct _SessionShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; + ApplicationShellClassPart application_shell_class; + SessionShellClassPart session_shell_class; +} SessionShellClassRec; + +externalref SessionShellClassRec sessionShellClassRec; + +typedef struct _XtSaveYourselfRec *XtSaveYourself; /* implementation-private */ + +/* New fields for the session shell widget */ + +typedef struct { +#ifndef XT_NO_SM + SmcConn connection; +#endif + String session_id; + String* restart_command; + String* clone_command; + String* discard_command; + String* resign_command; + String* shutdown_command; + String* environment; + String current_dir; + String program_path; + unsigned char restart_style; + unsigned char checkpoint_state; + Boolean join_session; + XtCallbackList save_callbacks; + XtCallbackList interact_callbacks; + XtCallbackList cancel_callbacks; + XtCallbackList save_complete_callbacks; + XtCallbackList die_callbacks; + XtCallbackList error_callbacks; + XtSaveYourself save; + XtInputId input_id; + XtPointer ses20; + XtPointer ses19; + XtPointer ses18; + XtPointer ses17; + XtPointer ses16; + XtPointer ses15; + XtPointer ses14; + XtPointer ses13; + XtPointer ses12; + XtPointer ses11; + XtPointer ses10; + XtPointer ses9; + XtPointer ses8; + XtPointer ses7; + XtPointer ses6; + XtPointer ses5; + XtPointer ses4; + XtPointer ses3; + XtPointer ses2; + XtPointer ses1; +} SessionShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; + ApplicationShellPart application; + SessionShellPart session; +} SessionShellRec, *SessionShellWidget; + +_XFUNCPROTOEND + +#endif /* _XtShellPrivate_h */ diff --git a/X11/ThreadsI.h b/X11/ThreadsI.h new file mode 100644 index 000000000..f07fe290f --- /dev/null +++ b/X11/ThreadsI.h @@ -0,0 +1,134 @@ +/* $Xorg: ThreadsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */ + +/************************************************************ +Copyright 1993 by Sun Microsystems, Inc. Mountain View, CA. + + 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 no- +tice appear in all copies and that both that copyright no- +tice and this permission notice appear in supporting docu- +mentation, and that the name Sun not be used in advertising +or publicity pertaining to distribution of the software +without specific prior written permission. Sun makes no +representations about the suitability of this software for +any purpose. It is provided "as is" without any express or +implied warranty. + +SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- +NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI- +ABLE 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. + +********************************************************/ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xt/ThreadsI.h,v 3.5 2001/12/14 19:56:31 dawes Exp $ */ + +#ifndef _XtThreadsI_h +#define _XtThreadsI_h + +#include <X11/XlibConf.h> + +#ifdef XTHREADS + +typedef struct _LockRec *LockPtr; + +typedef void (*ThreadAppProc)( + XtAppContext /* app */ +); + +typedef void (*ThreadAppYieldLockProc)( + XtAppContext, /* app */ + Boolean*, /* push_thread */ + Boolean*, /* pushed_thread */ + int* /* level */ +); + +typedef void (*ThreadAppRestoreLockProc)( + XtAppContext /* app */, + int, /* level */ + Boolean* /* pushed_thread */ +); + +_XFUNCPROTOBEGIN + +extern void (*_XtProcessLock)( + void +); + +extern void (*_XtProcessUnlock)( + void +); + +extern void (*_XtInitAppLock)( + XtAppContext /* app */ +); + +_XFUNCPROTOEND + +#define INIT_APP_LOCK(app) if(_XtInitAppLock) (*_XtInitAppLock)(app) +#define FREE_APP_LOCK(app) if(app && app->free_lock)(*app->free_lock)(app) + +#define LOCK_PROCESS if(_XtProcessLock)(*_XtProcessLock)() +#define UNLOCK_PROCESS if(_XtProcessUnlock)(*_XtProcessUnlock)() +#define LOCK_APP(app) if(app && app->lock)(*app->lock)(app) +#define UNLOCK_APP(app) if(app && app->unlock)(*app->unlock)(app) + +#define YIELD_APP_LOCK(app,push,pushed,level)\ + if(app && app->yield_lock) (*app->yield_lock)(app,push,pushed,level) +#define RESTORE_APP_LOCK(app,level,pushed)\ + if(app && app->restore_lock) (*app->restore_lock)(app,level,pushed) + +#define WIDGET_TO_APPCON(w) \ + XtAppContext app = (w && _XtProcessLock ? \ + XtWidgetToApplicationContext(w) : NULL) + +#define DPY_TO_APPCON(d) \ + XtAppContext app = (_XtProcessLock ? XtDisplayToApplicationContext(d): NULL) + +#else /* defined(XTHREADS) */ + +#define LOCK_PROCESS +#define UNLOCK_PROCESS +#define LOCK_APP(app) +#define UNLOCK_APP(app) + +#define INIT_APP_LOCK(app) +#define FREE_APP_LOCK(app) + +#define WIDGET_TO_APPCON(w) +#define DPY_TO_APPCON(d) + +#endif /* !defined(XTHREADS) */ +#endif /* _XtThreadsI_h */ diff --git a/X11/TranslateI.h b/X11/TranslateI.h new file mode 100644 index 000000000..6cc3099cf --- /dev/null +++ b/X11/TranslateI.h @@ -0,0 +1,609 @@ +/* $Xorg: TranslateI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */ + +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/TranslateI.h,v 1.3 2001/12/14 19:56:32 dawes Exp $ */ + +/* + * TranslateI.h - Header file private to translation management + * + * Author: Gabe Beged-Dov, HP + * + * Former Author: Charles Haynes + * Digital Equipment Corporation + * Western Research Laboratory + * Date: Sat Aug 29 1987 + */ + +/*#define REFCNT_TRANSLATIONS*/ +#define CACHE_TRANSLATIONS + +#define TM_NO_MATCH (-2) + +#define _XtRStateTablePair "_XtStateTablePair" + +typedef unsigned char TMByteCard; +typedef unsigned short TMShortCard; +typedef unsigned long TMLongCard; +typedef short TMShortInt; + +typedef struct _TMTypeMatchRec *TMTypeMatch; +typedef struct _TMModifierMatchRec *TMModifierMatch; +typedef struct _TMEventRec *TMEventPtr; + +typedef Boolean (*MatchProc)(TMTypeMatch typeMatch, + TMModifierMatch modMatch, + TMEventPtr eventSeq); + +typedef struct _ModToKeysymTable { + Modifiers mask; + int count; + int idx; +} ModToKeysymTable; + +typedef struct _LateBindings { + unsigned int knot:1; + unsigned int pair:1; + unsigned short ref_count; /* garbage collection */ + KeySym keysym; +} LateBindings, *LateBindingsPtr; + +typedef short ModifierMask; + +typedef struct _ActionsRec *ActionPtr; +typedef struct _ActionsRec { + int idx; /* index into quarkTable to find proc */ + String *params; /* pointer to array of params */ + Cardinal num_params; /* number of params */ + ActionPtr next; /* next action to perform */ +} ActionRec; + +typedef struct _XtStateRec *StatePtr; +typedef struct _XtStateRec { + unsigned int isCycleStart:1; + unsigned int isCycleEnd:1; + TMShortCard typeIndex; + TMShortCard modIndex; + ActionPtr actions; /* rhs list of actions to perform */ + StatePtr nextLevel; +}StateRec; + + +#define XtTableReplace 0 +#define XtTableAugment 1 +#define XtTableOverride 2 +#define XtTableUnmerge 3 + +typedef unsigned int _XtTranslateOp; + +/* + * New Definitions + */ +typedef struct _TMModifierMatchRec{ + TMLongCard modifiers; + TMLongCard modifierMask; + LateBindingsPtr lateModifiers; + Boolean standard; +}TMModifierMatchRec; + +typedef struct _TMTypeMatchRec{ + TMLongCard eventType; + TMLongCard eventCode; + TMLongCard eventCodeMask; + MatchProc matchEvent; +}TMTypeMatchRec; + +typedef struct _TMBranchHeadRec { + unsigned int isSimple:1; + unsigned int hasActions:1; + unsigned int hasCycles:1; + unsigned int more:13; + TMShortCard typeIndex; + TMShortCard modIndex; +}TMBranchHeadRec, *TMBranchHead; + +/* NOTE: elements of this structure must match those of + * TMComplexStateTreeRec and TMParseStateTreeRec. + */ +typedef struct _TMSimpleStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int refCount:13; + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard unused; /* to ensure same alignment */ + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ +}TMSimpleStateTreeRec, *TMSimpleStateTree; + +/* NOTE: elements of this structure must match those of + * TMSimpleStateTreeRec and TMParseStateTreeRec. + */ +typedef struct _TMComplexStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int refCount:13; + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard numComplexBranchHeads; + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ + StatePtr *complexBranchHeadTbl; +}TMComplexStateTreeRec, *TMComplexStateTree; + +/* NOTE: elements of this structure must match those of + * TMSimpleStateTreeRec and TMComplexStateTreeRec. + */ +typedef struct _TMParseStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int isStackQuarks:1; + unsigned int isStackBranchHeads:1; + unsigned int isStackComplexBranchHeads:1; + unsigned int unused:10; /* to ensure correct alignment */ + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard numComplexBranchHeads; + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ + StatePtr *complexBranchHeadTbl; + TMShortCard branchHeadTblSize; + TMShortCard quarkTblSize; /*total size of quarkTbl */ + TMShortCard complexBranchHeadTblSize; + StatePtr head; +}TMParseStateTreeRec, *TMParseStateTree; + +typedef union _TMStateTreeRec{ + TMSimpleStateTreeRec simple; + TMParseStateTreeRec parse; + TMComplexStateTreeRec complex; +}*TMStateTree, **TMStateTreePtr, **TMStateTreeList; + +typedef struct _TMSimpleBindProcsRec { + XtActionProc *procs; +}TMSimpleBindProcsRec, *TMSimpleBindProcs; + +typedef struct _TMComplexBindProcsRec { + Widget widget; /*widgetID to pass to action Proc*/ + XtTranslations aXlations; + XtActionProc *procs; +}TMComplexBindProcsRec, *TMComplexBindProcs; + +typedef struct _TMSimpleBindDataRec { + unsigned int isComplex:1; /* must be first */ + TMSimpleBindProcsRec bindTbl[1]; /* variable length */ +}TMSimpleBindDataRec, *TMSimpleBindData; + +typedef struct _TMComplexBindDataRec { + unsigned int isComplex:1; /* must be first */ + struct _ATranslationData *accel_context; /* for GetValues */ + TMComplexBindProcsRec bindTbl[1]; /* variable length */ +}TMComplexBindDataRec, *TMComplexBindData; + +typedef union _TMBindDataRec{ + TMSimpleBindDataRec simple; + TMComplexBindDataRec complex; +}*TMBindData; + +typedef struct _TranslationData{ + unsigned char hasBindings; /* must be first */ + unsigned char operation; /*replace,augment,override*/ + TMShortCard numStateTrees; + struct _TranslationData *composers[2]; + EventMask eventMask; + TMStateTree stateTreeTbl[1]; /* variable length */ +}TranslationData; + +/* + * ATranslations is returned by GetValues for translations that contain + * accelerators. The TM can differentiate between this and TranslationData + * (that don't have a bindTbl) by looking at the first field (hasBindings) + * of either structure. All ATranslationData structures associated with a + * widget are chained off the BindData record of the widget. + */ +typedef struct _ATranslationData{ + unsigned char hasBindings; /* must be first */ + unsigned char operation; + struct _TranslationData *xlations; /* actual translations */ + struct _ATranslationData *next; /* chain the contexts together */ + TMComplexBindProcsRec bindTbl[1]; /* accelerator bindings */ +}ATranslationData, *ATranslations; + +typedef struct _TMConvertRec { + XtTranslations old; /* table to merge into */ + XtTranslations new; /* table to merge from */ +} TMConvertRec; + +#define _XtEventTimerEventType ((TMLongCard)~0L) +#define KeysymModMask (1L<<27) /* private to TM */ +#define AnyButtonMask (1L<<28) /* private to TM */ + +typedef struct _EventRec { + TMLongCard modifiers; + TMLongCard modifierMask; + LateBindingsPtr lateModifiers; + TMLongCard eventType; + TMLongCard eventCode; + TMLongCard eventCodeMask; + MatchProc matchEvent; + Boolean standard; +} Event; + +typedef struct _EventSeqRec *EventSeqPtr; +typedef struct _EventSeqRec { + Event event; /* X event description */ + StatePtr state; /* private to state table builder */ + EventSeqPtr next; /* next event on line */ + ActionPtr actions; /* r.h.s. list of actions to perform */ +} EventSeqRec; + +typedef EventSeqRec EventRec; +typedef EventSeqPtr EventPtr; + +typedef struct _TMEventRec { + XEvent *xev; + Event event; +}TMEventRec; + +typedef struct _ActionHookRec { + struct _ActionHookRec* next; /* must remain first */ + XtAppContext app; + XtActionHookProc proc; + XtPointer closure; +} ActionHookRec, *ActionHook; + +/* choose a number between 2 and 8 */ +#define TMKEYCACHELOG2 6 +#define TMKEYCACHESIZE (1<<TMKEYCACHELOG2) + +typedef struct _KeyCacheRec { + unsigned char modifiers_return[256]; /* constant per KeyCode, key proc */ + KeyCode keycode[TMKEYCACHESIZE]; + unsigned char modifiers[TMKEYCACHESIZE]; + KeySym keysym[TMKEYCACHESIZE]; +} TMKeyCache; + +typedef struct _TMKeyContextRec { + XEvent *event; + unsigned long serial; + KeySym keysym; + Modifiers modifiers; + TMKeyCache keycache; /* keep this last, to keep offsets to others small */ +} TMKeyContextRec, *TMKeyContext; + +typedef struct _TMGlobalRec{ + TMTypeMatchRec **typeMatchSegmentTbl; + TMShortCard numTypeMatches; + TMShortCard numTypeMatchSegments; + TMShortCard typeMatchSegmentTblSize; + TMModifierMatchRec **modMatchSegmentTbl; + TMShortCard numModMatches; + TMShortCard numModMatchSegments; + TMShortCard modMatchSegmentTblSize; + Boolean newMatchSemantics; +#ifdef TRACE_TM + XtTranslations *tmTbl; + TMShortCard numTms; + TMShortCard tmTblSize; + struct _TMBindCacheRec **bindCacheTbl; + TMShortCard numBindCache; + TMShortCard bindCacheTblSize; + TMShortCard numLateBindings; + TMShortCard numBranchHeads; + TMShortCard numComplexStates; + TMShortCard numComplexActions; +#endif /* TRACE_TM */ +}TMGlobalRec; + +_XFUNCPROTOBEGIN + +extern TMGlobalRec _XtGlobalTM; + +#define TM_MOD_SEGMENT_SIZE 16 +#define TM_TYPE_SEGMENT_SIZE 16 + +#define TMGetTypeMatch(idx) \ + ((TMTypeMatch) \ + &((_XtGlobalTM.typeMatchSegmentTbl[((idx) >> 4)])[(idx) & 15])) +#define TMGetModifierMatch(idx) \ + ((TMModifierMatch) \ + &((_XtGlobalTM.modMatchSegmentTbl[(idx) >> 4])[(idx) & 15])) + +/* Useful Access Macros */ +#define TMNewMatchSemantics() (_XtGlobalTM.newMatchSemantics) +#define TMBranchMore(branch) (branch->more) +#define TMComplexBranchHead(tree, br) \ + (((TMComplexStateTree)tree)->complexBranchHeadTbl[TMBranchMore(br)]) + +#define TMGetComplexBindEntry(bindData, idx) \ + ((TMComplexBindProcs)&(((TMComplexBindData)bindData)->bindTbl[idx])) + +#define TMGetSimpleBindEntry(bindData, idx) \ + ((TMSimpleBindProcs)&(((TMSimpleBindData)bindData)->bindTbl[idx])) + + +#define _InitializeKeysymTables(dpy, pd) \ + if (pd->keysyms == NULL) \ + _XtBuildKeysymTables(dpy, pd) + +/* + * Internal Functions + */ + +extern void _XtPopup( + Widget /* widget */, + XtGrabKind /* grab_kind */, + _XtBoolean /* spring_loaded */ +); + +extern String _XtPrintXlations( + Widget /* w */, + XtTranslations /* xlations */, + Widget /* accelWidget */, + _XtBoolean /* includeRHS */ +); + +extern void _XtRegisterGrabs( + Widget /* widget */ +); + +extern XtPointer _XtInitializeActionData( + struct _XtActionsRec * /* actions */, + Cardinal /* count */, + _XtBoolean /* inPlace */ +); + +extern void _XtAddEventSeqToStateTree( + EventSeqPtr /* eventSeq */, + TMParseStateTree /* stateTree */ +); + +extern Boolean _XtMatchUsingStandardMods( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtMatchUsingDontCareMods( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtRegularMatch( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtMatchAtom( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern void _XtTranslateEvent( + Widget /* widget */, + XEvent* /* event */ +); + +#include "CallbackI.h" +#include "EventI.h" +#include "HookObjI.h" +#include "PassivGraI.h" +#include "ThreadsI.h" +#include "InitialI.h" +#include "ResourceI.h" +#include "StringDefs.h" + +extern void _XtBuildKeysymTables(Display *dpy, XtPerDisplay pd); + +#ifndef NO_MIT_HACKS +extern void _XtDisplayTranslations( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void _XtDisplayAccelerators( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void _XtDisplayInstalledAccelerators( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); +#endif /* ifndef NO_MIT_HACKS */ + +extern void _XtPopupInitialize( + XtAppContext /* app_context */ +); + +extern void _XtBindActions( + Widget /* widget */, + XtTM /* tm_rec */ +); + +extern Boolean _XtComputeLateBindings( + Display* /* dpy */, + LateBindingsPtr /* lateModifiers */, + Modifiers* /* computed */, + Modifiers* /* computedMask */ +); + +extern XtTranslations _XtCreateXlations( + TMStateTree * /* stateTrees */, + TMShortCard /* numStateTrees */, + XtTranslations /* first */, + XtTranslations /* second */ +); + +extern Boolean _XtCvtMergeTranslations( + Display* /* dpy */, + XrmValuePtr /* args */, + Cardinal* /* num_args */, + XrmValuePtr /* from */, + XrmValuePtr /* to */, + XtPointer* /* closure_ret */ +); + +void _XtRemoveStateTreeByIndex( + XtTranslations /* xlations */, + TMShortCard /* i */); + +void _XtFreeTranslations( + XtAppContext /* app */, + XrmValuePtr /* toVal */, + XtPointer /* closure */, + XrmValuePtr /* args */, + Cardinal* /* num_args */ +); + +extern TMShortCard _XtGetModifierIndex( + Event* /* event */ +); + +extern TMShortCard _XtGetQuarkIndex( + TMParseStateTree /* stateTreePtr */, + XrmQuark /* quark */ +); + +extern XtTranslations _XtGetTranslationValue( + Widget /* widget */ +); + +extern TMShortCard _XtGetTypeIndex( + Event* /* event */ +); + +extern void _XtGrabInitialize( + XtAppContext /* app */ +); + +extern void _XtInstallTranslations( + Widget /* widget */ +); + +extern void _XtRemoveTranslations( + Widget /* widget */ +); + +extern void _XtDestroyTMData( + Widget /* widget */ +); + +extern void _XtMergeTranslations( + Widget /* widget */, + XtTranslations /* newXlations */, + _XtTranslateOp /* operation */ +); + +extern void _XtActionInitialize( + XtAppContext /* app */ +); + +extern TMStateTree _XtParseTreeToStateTree( + TMParseStateTree /* parseTree */ +); + +extern String _XtPrintActions( + ActionRec* /* actions */, + XrmQuark* /* quarkTbl */ +); + +extern String _XtPrintState( + TMStateTree /* stateTree */, + TMBranchHead /* branchHead */); + +extern String _XtPrintEventSeq( + EventSeqPtr /* eventSeq */, + Display* /* dpy */ +); + +typedef Boolean (*_XtTraversalProc)( + StatePtr /* state */, + XtPointer /* data */ +); + +extern void _XtTraverseStateTree( + TMStateTree /* tree */, + _XtTraversalProc /* func */, + XtPointer /* data */ +); + +extern void _XtTranslateInitialize( + void +); + +extern void _XtAddTMConverters( + ConverterTable /* table */ +); + +extern void _XtUnbindActions( + Widget /* widget */, + XtTranslations /* xlations */, + TMBindData /* bindData */ +); + +extern void _XtUnmergeTranslations( + Widget /* widget */, + XtTranslations /* xlations */ +); + +/* TMKey.c */ +extern void _XtAllocTMContext(XtPerDisplay pd); + +_XFUNCPROTOEND diff --git a/X11/VarargsI.h b/X11/VarargsI.h new file mode 100644 index 000000000..76ce9bc7e --- /dev/null +++ b/X11/VarargsI.h @@ -0,0 +1,69 @@ +/* $Xorg: VarargsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */ + +/* + +Copyright 1985, 1986, 1987, 1988, 1989, 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. + +*/ +/* $XFree86: xc/lib/Xt/VarargsI.h,v 3.6 2001/12/14 19:56:32 dawes Exp $ */ + +#ifndef _VarargsI_h_ +#define _VarargsI_h_ + +#include <stdarg.h> + +/* private routines */ + +_XFUNCPROTOBEGIN + +extern void _XtCountVaList( + va_list /*var*/, int* /*total_count*/, int* /*typed_count*/ +); + +extern void _XtVaToArgList( + Widget /*widget*/, va_list /*var*/, int /*max_count*/, ArgList* /*args_return*/, Cardinal* /*num_args_return*/ +); + +extern void _XtVaToTypedArgList( + va_list /*var*/, int /*count*/, XtTypedArgList* /*args_return*/, Cardinal* /*num_args_return*/ +); + +extern XtTypedArgList _XtVaCreateTypedArgList( + va_list /*var*/, int /*count*/ +); + +extern void _XtFreeArgList( + ArgList /*args*/, int /*total_count*/, int /*typed_count*/ +); + +extern void _XtGetApplicationResources( + Widget /*w*/, XtPointer /*base*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/ +); + +extern void _XtGetSubresources( + Widget /*w*/, XtPointer /*base*/, const char* /*name*/, const char* /*class*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/ +); + +_XFUNCPROTOEND + +#endif /* _VarargsI_h_ */ diff --git a/X11/Vendor.h b/X11/Vendor.h new file mode 100644 index 000000000..633d17aa1 --- /dev/null +++ b/X11/Vendor.h @@ -0,0 +1,75 @@ +/* +* $Xorg: Vendor.h,v 1.5 2001/02/09 02:03:59 xorgcvs Exp $ +* $oHeader: Vendor.h,v 1.2 88/08/18 15:56:44 asente Exp $ +*/ + +/*********************************************************** + +Copyright 1987, 1988, 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 _XtVendor_h +#define _XtVendor_h + +#include <X11/Intrinsic.h> + +/*********************************************************************** + * + * VendorShell Widget + * + ***********************************************************************/ + +/* Class record constants */ + +typedef struct _VendorShellClassRec *VendorShellWidgetClass; + +_XFUNCPROTOBEGIN + +externalref WidgetClass vendorShellWidgetClass; + +_XFUNCPROTOEND + +#endif /* _XtVendor_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/X11/VendorP.h b/X11/VendorP.h new file mode 100644 index 000000000..e60857d9e --- /dev/null +++ b/X11/VendorP.h @@ -0,0 +1,107 @@ +/* +* $Xorg: VendorP.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ +* $oHeader: VendorP.h,v 1.2 88/08/18 15:56:48 asente Exp $ +*/ + +/*********************************************************** + +Copyright 1987, 1988, 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. + +******************************************************************/ + +/* + * VendorP.h - Private definitions for VendorShell widget + * + * Author: Paul Asente + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Thu Dec 3, 1987 + */ + +/*********************************************************************** + * + * VendorShell Widget Private Data + * + ***********************************************************************/ + +#ifndef _XtVendorPrivate_h +#define _XtVendorPrivate_h + +#include <X11/Vendor.h> + +/* New fields for the VendorShell widget class record */ + +_XFUNCPROTOBEGIN + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} VendorShellClassPart; + +typedef struct _VendorShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; +} VendorShellClassRec; + +externalref VendorShellClassRec vendorShellClassRec; + +/* New fields for the vendor shell widget. */ + +typedef struct { + int vendor_specific; +} VendorShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; +} VendorShellRec, *VendorShellWidget; + +_XFUNCPROTOEND + +#endif /* _XtVendorPrivate_h */ diff --git a/X11/Xtos.h b/X11/Xtos.h new file mode 100644 index 000000000..013b2416c --- /dev/null +++ b/X11/Xtos.h @@ -0,0 +1,77 @@ +/* +* $Xorg: Xtos.h,v 1.4 2001/02/09 02:03:59 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. + +******************************************************************/ +/* $XFree86: xc/lib/Xt/Xtos.h,v 3.12tsi Exp $ */ + +#ifndef _Xtos_h +#define _Xtos_h + +#define ALLOCATE_LOCAL_FALLBACK(_size) XtMalloc((unsigned long)(_size)) +#define DEALLOCATE_LOCAL_FALLBACK(_ptr) XtFree((XtPointer)(_ptr)) +#include <X11/Xalloca.h> + +#ifdef CRAY +#define WORD64 +#endif + +#if defined (_LP64) || \ + defined(__alpha) || defined(__alpha__) || \ + defined(__ia64__) || defined(ia64) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ + (defined(__hppa__) && defined(__LP64__)) || \ + defined(__amd64__) || defined(amd64) || \ + defined(__powerpc64__) || \ + (defined(sgi) && (_MIPS_SZLONG == 64)) +#define LONG64 +#endif + +#endif /* _Xtos_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ |