diff options
Diffstat (limited to 'X11')
167 files changed, 32643 insertions, 159 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/ImUtil.h b/X11/ImUtil.h new file mode 100644 index 000000000..5b62571ac --- /dev/null +++ b/X11/ImUtil.h @@ -0,0 +1,30 @@ + +#ifndef _IMUTIL_H_ +#define _IMUTIL_H_ + +extern int +_XGetScanlinePad( + Display *dpy, + int depth); + +extern int +_XGetBitsPerPixel( + Display *dpy, + int depth); + +extern int +_XSetImage( + XImage *srcimg, + register XImage *dstimg, + register int x, + register int y); + +extern int +_XReverse_Bytes( + register unsigned char *bpt, + register int nb); +extern void +_XInitImageFuncPtrs( + register XImage *image); + +#endif /* _IMUTIL_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/Shell.h b/X11/Shell.h new file mode 100644 index 000000000..c864eb55e --- /dev/null +++ b/X11/Shell.h @@ -0,0 +1,569 @@ +/* $Xorg: Shell.ht,v 1.5 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/util/Shell.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtShell_h
+#define _XtShell_h
+
+#ifndef XT_NO_SM
+#include <X11/SM/SMlib.h>
+#endif
+#include <X11/Intrinsic.h>
+
+/***********************************************************************
+ *
+ * Shell Widget
+ *
+ ***********************************************************************/
+/*
+ * Shell-specific resources names, classes, and a representation type.
+ */
+
+#ifndef XTSTRINGDEFINES
+#define _XtShell_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNiconName "iconName"
+#define XtCIconName "IconName"
+#define XtNiconPixmap "iconPixmap"
+#define XtCIconPixmap "IconPixmap"
+#define XtNiconWindow "iconWindow"
+#define XtCIconWindow "IconWindow"
+#define XtNiconMask "iconMask"
+#define XtCIconMask "IconMask"
+#define XtNwindowGroup "windowGroup"
+#define XtCWindowGroup "WindowGroup"
+#define XtNvisual "visual"
+#define XtCVisual "Visual"
+#define XtNtitleEncoding "titleEncoding"
+#define XtCTitleEncoding "TitleEncoding"
+#define XtNsaveUnder "saveUnder"
+#define XtCSaveUnder "SaveUnder"
+#define XtNtransient "transient"
+#define XtCTransient "Transient"
+#define XtNoverrideRedirect "overrideRedirect"
+#define XtCOverrideRedirect "OverrideRedirect"
+#define XtNtransientFor "transientFor"
+#define XtCTransientFor "TransientFor"
+#define XtNiconNameEncoding "iconNameEncoding"
+#define XtCIconNameEncoding "IconNameEncoding"
+#define XtNallowShellResize "allowShellResize"
+#define XtCAllowShellResize "AllowShellResize"
+#define XtNcreatePopupChildProc "createPopupChildProc"
+#define XtCCreatePopupChildProc "CreatePopupChildProc"
+#define XtNtitle "title"
+#define XtCTitle "Title"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtNargc "argc"
+#define XtCArgc "Argc"
+#define XtNargv "argv"
+#define XtCArgv "Argv"
+#define XtNiconX "iconX"
+#define XtCIconX "IconX"
+#define XtNiconY "iconY"
+#define XtCIconY "IconY"
+#define XtNinput "input"
+#define XtCInput "Input"
+#define XtNiconic "iconic"
+#define XtCIconic "Iconic"
+#define XtNinitialState "initialState"
+#define XtCInitialState "InitialState"
+#define XtNgeometry "geometry"
+#define XtCGeometry "Geometry"
+#define XtNbaseWidth "baseWidth"
+#define XtCBaseWidth "BaseWidth"
+#define XtNbaseHeight "baseHeight"
+#define XtCBaseHeight "BaseHeight"
+#define XtNwinGravity "winGravity"
+#define XtCWinGravity "WinGravity"
+#define XtNminWidth "minWidth"
+#define XtCMinWidth "MinWidth"
+#define XtNminHeight "minHeight"
+#define XtCMinHeight "MinHeight"
+#define XtNmaxWidth "maxWidth"
+#define XtCMaxWidth "MaxWidth"
+#define XtNmaxHeight "maxHeight"
+#define XtCMaxHeight "MaxHeight"
+#define XtNwidthInc "widthInc"
+#define XtCWidthInc "WidthInc"
+#define XtNheightInc "heightInc"
+#define XtCHeightInc "HeightInc"
+#define XtNminAspectY "minAspectY"
+#define XtCMinAspectY "MinAspectY"
+#define XtNmaxAspectY "maxAspectY"
+#define XtCMaxAspectY "MaxAspectY"
+#define XtNminAspectX "minAspectX"
+#define XtCMinAspectX "MinAspectX"
+#define XtNmaxAspectX "maxAspectX"
+#define XtCMaxAspectX "MaxAspectX"
+#define XtNwmTimeout "wmTimeout"
+#define XtCWmTimeout "WmTimeout"
+#define XtNwaitForWm "waitforwm"
+#define XtCWaitForWm "Waitforwm"
+#define XtNwaitforwm "waitforwm"
+#define XtCWaitforwm "Waitforwm"
+#define XtNclientLeader "clientLeader"
+#define XtCClientLeader "ClientLeader"
+#define XtNwindowRole "windowRole"
+#define XtCWindowRole "WindowRole"
+#define XtNurgency "urgency"
+#define XtCUrgency "Urgency"
+#define XtNcancelCallback "cancelCallback"
+#define XtNcloneCommand "cloneCommand"
+#define XtCCloneCommand "CloneCommand"
+#define XtNconnection "connection"
+#define XtCConnection "Connection"
+#define XtNcurrentDirectory "currentDirectory"
+#define XtCCurrentDirectory "CurrentDirectory"
+#define XtNdieCallback "dieCallback"
+#define XtNdiscardCommand "discardCommand"
+#define XtCDiscardCommand "DiscardCommand"
+#define XtNenvironment "environment"
+#define XtCEnvironment "Environment"
+#define XtNinteractCallback "interactCallback"
+#define XtNjoinSession "joinSession"
+#define XtCJoinSession "JoinSession"
+#define XtNprogramPath "programPath"
+#define XtCProgramPath "ProgramPath"
+#define XtNresignCommand "resignCommand"
+#define XtCResignCommand "ResignCommand"
+#define XtNrestartCommand "restartCommand"
+#define XtCRestartCommand "RestartCommand"
+#define XtNrestartStyle "restartStyle"
+#define XtCRestartStyle "RestartStyle"
+#define XtNsaveCallback "saveCallback"
+#define XtNsaveCompleteCallback "saveCompleteCallback"
+#define XtNsessionID "sessionID"
+#define XtCSessionID "SessionID"
+#define XtNshutdownCommand "shutdownCommand"
+#define XtCShutdownCommand "ShutdownCommand"
+#define XtNerrorCallback "errorCallback"
+#else
+extern _XtShell_h_Const char XtShellStrings[];
+#ifndef XtNiconName
+#define XtNiconName ((char*)&XtShellStrings[0])
+#endif
+#ifndef XtCIconName
+#define XtCIconName ((char*)&XtShellStrings[9])
+#endif
+#ifndef XtNiconPixmap
+#define XtNiconPixmap ((char*)&XtShellStrings[18])
+#endif
+#ifndef XtCIconPixmap
+#define XtCIconPixmap ((char*)&XtShellStrings[29])
+#endif
+#ifndef XtNiconWindow
+#define XtNiconWindow ((char*)&XtShellStrings[40])
+#endif
+#ifndef XtCIconWindow
+#define XtCIconWindow ((char*)&XtShellStrings[51])
+#endif
+#ifndef XtNiconMask
+#define XtNiconMask ((char*)&XtShellStrings[62])
+#endif
+#ifndef XtCIconMask
+#define XtCIconMask ((char*)&XtShellStrings[71])
+#endif
+#ifndef XtNwindowGroup
+#define XtNwindowGroup ((char*)&XtShellStrings[80])
+#endif
+#ifndef XtCWindowGroup
+#define XtCWindowGroup ((char*)&XtShellStrings[92])
+#endif
+#ifndef XtNvisual
+#define XtNvisual ((char*)&XtShellStrings[104])
+#endif
+#ifndef XtCVisual
+#define XtCVisual ((char*)&XtShellStrings[111])
+#endif
+#ifndef XtNtitleEncoding
+#define XtNtitleEncoding ((char*)&XtShellStrings[118])
+#endif
+#ifndef XtCTitleEncoding
+#define XtCTitleEncoding ((char*)&XtShellStrings[132])
+#endif
+#ifndef XtNsaveUnder
+#define XtNsaveUnder ((char*)&XtShellStrings[146])
+#endif
+#ifndef XtCSaveUnder
+#define XtCSaveUnder ((char*)&XtShellStrings[156])
+#endif
+#ifndef XtNtransient
+#define XtNtransient ((char*)&XtShellStrings[166])
+#endif
+#ifndef XtCTransient
+#define XtCTransient ((char*)&XtShellStrings[176])
+#endif
+#ifndef XtNoverrideRedirect
+#define XtNoverrideRedirect ((char*)&XtShellStrings[186])
+#endif
+#ifndef XtCOverrideRedirect
+#define XtCOverrideRedirect ((char*)&XtShellStrings[203])
+#endif
+#ifndef XtNtransientFor
+#define XtNtransientFor ((char*)&XtShellStrings[220])
+#endif
+#ifndef XtCTransientFor
+#define XtCTransientFor ((char*)&XtShellStrings[233])
+#endif
+#ifndef XtNiconNameEncoding
+#define XtNiconNameEncoding ((char*)&XtShellStrings[246])
+#endif
+#ifndef XtCIconNameEncoding
+#define XtCIconNameEncoding ((char*)&XtShellStrings[263])
+#endif
+#ifndef XtNallowShellResize
+#define XtNallowShellResize ((char*)&XtShellStrings[280])
+#endif
+#ifndef XtCAllowShellResize
+#define XtCAllowShellResize ((char*)&XtShellStrings[297])
+#endif
+#ifndef XtNcreatePopupChildProc
+#define XtNcreatePopupChildProc ((char*)&XtShellStrings[314])
+#endif
+#ifndef XtCCreatePopupChildProc
+#define XtCCreatePopupChildProc ((char*)&XtShellStrings[335])
+#endif
+#ifndef XtNtitle
+#define XtNtitle ((char*)&XtShellStrings[356])
+#endif
+#ifndef XtCTitle
+#define XtCTitle ((char*)&XtShellStrings[362])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtShellStrings[368])
+#endif
+#ifndef XtNargc
+#define XtNargc ((char*)&XtShellStrings[373])
+#endif
+#ifndef XtCArgc
+#define XtCArgc ((char*)&XtShellStrings[378])
+#endif
+#ifndef XtNargv
+#define XtNargv ((char*)&XtShellStrings[383])
+#endif
+#ifndef XtCArgv
+#define XtCArgv ((char*)&XtShellStrings[388])
+#endif
+#ifndef XtNiconX
+#define XtNiconX ((char*)&XtShellStrings[393])
+#endif
+#ifndef XtCIconX
+#define XtCIconX ((char*)&XtShellStrings[399])
+#endif
+#ifndef XtNiconY
+#define XtNiconY ((char*)&XtShellStrings[405])
+#endif
+#ifndef XtCIconY
+#define XtCIconY ((char*)&XtShellStrings[411])
+#endif
+#ifndef XtNinput
+#define XtNinput ((char*)&XtShellStrings[417])
+#endif
+#ifndef XtCInput
+#define XtCInput ((char*)&XtShellStrings[423])
+#endif
+#ifndef XtNiconic
+#define XtNiconic ((char*)&XtShellStrings[429])
+#endif
+#ifndef XtCIconic
+#define XtCIconic ((char*)&XtShellStrings[436])
+#endif
+#ifndef XtNinitialState
+#define XtNinitialState ((char*)&XtShellStrings[443])
+#endif
+#ifndef XtCInitialState
+#define XtCInitialState ((char*)&XtShellStrings[456])
+#endif
+#ifndef XtNgeometry
+#define XtNgeometry ((char*)&XtShellStrings[469])
+#endif
+#ifndef XtCGeometry
+#define XtCGeometry ((char*)&XtShellStrings[478])
+#endif
+#ifndef XtNbaseWidth
+#define XtNbaseWidth ((char*)&XtShellStrings[487])
+#endif
+#ifndef XtCBaseWidth
+#define XtCBaseWidth ((char*)&XtShellStrings[497])
+#endif
+#ifndef XtNbaseHeight
+#define XtNbaseHeight ((char*)&XtShellStrings[507])
+#endif
+#ifndef XtCBaseHeight
+#define XtCBaseHeight ((char*)&XtShellStrings[518])
+#endif
+#ifndef XtNwinGravity
+#define XtNwinGravity ((char*)&XtShellStrings[529])
+#endif
+#ifndef XtCWinGravity
+#define XtCWinGravity ((char*)&XtShellStrings[540])
+#endif
+#ifndef XtNminWidth
+#define XtNminWidth ((char*)&XtShellStrings[551])
+#endif
+#ifndef XtCMinWidth
+#define XtCMinWidth ((char*)&XtShellStrings[560])
+#endif
+#ifndef XtNminHeight
+#define XtNminHeight ((char*)&XtShellStrings[569])
+#endif
+#ifndef XtCMinHeight
+#define XtCMinHeight ((char*)&XtShellStrings[579])
+#endif
+#ifndef XtNmaxWidth
+#define XtNmaxWidth ((char*)&XtShellStrings[589])
+#endif
+#ifndef XtCMaxWidth
+#define XtCMaxWidth ((char*)&XtShellStrings[598])
+#endif
+#ifndef XtNmaxHeight
+#define XtNmaxHeight ((char*)&XtShellStrings[607])
+#endif
+#ifndef XtCMaxHeight
+#define XtCMaxHeight ((char*)&XtShellStrings[617])
+#endif
+#ifndef XtNwidthInc
+#define XtNwidthInc ((char*)&XtShellStrings[627])
+#endif
+#ifndef XtCWidthInc
+#define XtCWidthInc ((char*)&XtShellStrings[636])
+#endif
+#ifndef XtNheightInc
+#define XtNheightInc ((char*)&XtShellStrings[645])
+#endif
+#ifndef XtCHeightInc
+#define XtCHeightInc ((char*)&XtShellStrings[655])
+#endif
+#ifndef XtNminAspectY
+#define XtNminAspectY ((char*)&XtShellStrings[665])
+#endif
+#ifndef XtCMinAspectY
+#define XtCMinAspectY ((char*)&XtShellStrings[676])
+#endif
+#ifndef XtNmaxAspectY
+#define XtNmaxAspectY ((char*)&XtShellStrings[687])
+#endif
+#ifndef XtCMaxAspectY
+#define XtCMaxAspectY ((char*)&XtShellStrings[698])
+#endif
+#ifndef XtNminAspectX
+#define XtNminAspectX ((char*)&XtShellStrings[709])
+#endif
+#ifndef XtCMinAspectX
+#define XtCMinAspectX ((char*)&XtShellStrings[720])
+#endif
+#ifndef XtNmaxAspectX
+#define XtNmaxAspectX ((char*)&XtShellStrings[731])
+#endif
+#ifndef XtCMaxAspectX
+#define XtCMaxAspectX ((char*)&XtShellStrings[742])
+#endif
+#ifndef XtNwmTimeout
+#define XtNwmTimeout ((char*)&XtShellStrings[753])
+#endif
+#ifndef XtCWmTimeout
+#define XtCWmTimeout ((char*)&XtShellStrings[763])
+#endif
+#ifndef XtNwaitForWm
+#define XtNwaitForWm ((char*)&XtShellStrings[773])
+#endif
+#ifndef XtCWaitForWm
+#define XtCWaitForWm ((char*)&XtShellStrings[783])
+#endif
+#ifndef XtNwaitforwm
+#define XtNwaitforwm ((char*)&XtShellStrings[793])
+#endif
+#ifndef XtCWaitforwm
+#define XtCWaitforwm ((char*)&XtShellStrings[803])
+#endif
+#ifndef XtNclientLeader
+#define XtNclientLeader ((char*)&XtShellStrings[813])
+#endif
+#ifndef XtCClientLeader
+#define XtCClientLeader ((char*)&XtShellStrings[826])
+#endif
+#ifndef XtNwindowRole
+#define XtNwindowRole ((char*)&XtShellStrings[839])
+#endif
+#ifndef XtCWindowRole
+#define XtCWindowRole ((char*)&XtShellStrings[850])
+#endif
+#ifndef XtNurgency
+#define XtNurgency ((char*)&XtShellStrings[861])
+#endif
+#ifndef XtCUrgency
+#define XtCUrgency ((char*)&XtShellStrings[869])
+#endif
+#ifndef XtNcancelCallback
+#define XtNcancelCallback ((char*)&XtShellStrings[877])
+#endif
+#ifndef XtNcloneCommand
+#define XtNcloneCommand ((char*)&XtShellStrings[892])
+#endif
+#ifndef XtCCloneCommand
+#define XtCCloneCommand ((char*)&XtShellStrings[905])
+#endif
+#ifndef XtNconnection
+#define XtNconnection ((char*)&XtShellStrings[918])
+#endif
+#ifndef XtCConnection
+#define XtCConnection ((char*)&XtShellStrings[929])
+#endif
+#ifndef XtNcurrentDirectory
+#define XtNcurrentDirectory ((char*)&XtShellStrings[940])
+#endif
+#ifndef XtCCurrentDirectory
+#define XtCCurrentDirectory ((char*)&XtShellStrings[957])
+#endif
+#ifndef XtNdieCallback
+#define XtNdieCallback ((char*)&XtShellStrings[974])
+#endif
+#ifndef XtNdiscardCommand
+#define XtNdiscardCommand ((char*)&XtShellStrings[986])
+#endif
+#ifndef XtCDiscardCommand
+#define XtCDiscardCommand ((char*)&XtShellStrings[1001])
+#endif
+#ifndef XtNenvironment
+#define XtNenvironment ((char*)&XtShellStrings[1016])
+#endif
+#ifndef XtCEnvironment
+#define XtCEnvironment ((char*)&XtShellStrings[1028])
+#endif
+#ifndef XtNinteractCallback
+#define XtNinteractCallback ((char*)&XtShellStrings[1040])
+#endif
+#ifndef XtNjoinSession
+#define XtNjoinSession ((char*)&XtShellStrings[1057])
+#endif
+#ifndef XtCJoinSession
+#define XtCJoinSession ((char*)&XtShellStrings[1069])
+#endif
+#ifndef XtNprogramPath
+#define XtNprogramPath ((char*)&XtShellStrings[1081])
+#endif
+#ifndef XtCProgramPath
+#define XtCProgramPath ((char*)&XtShellStrings[1093])
+#endif
+#ifndef XtNresignCommand
+#define XtNresignCommand ((char*)&XtShellStrings[1105])
+#endif
+#ifndef XtCResignCommand
+#define XtCResignCommand ((char*)&XtShellStrings[1119])
+#endif
+#ifndef XtNrestartCommand
+#define XtNrestartCommand ((char*)&XtShellStrings[1133])
+#endif
+#ifndef XtCRestartCommand
+#define XtCRestartCommand ((char*)&XtShellStrings[1148])
+#endif
+#ifndef XtNrestartStyle
+#define XtNrestartStyle ((char*)&XtShellStrings[1163])
+#endif
+#ifndef XtCRestartStyle
+#define XtCRestartStyle ((char*)&XtShellStrings[1176])
+#endif
+#ifndef XtNsaveCallback
+#define XtNsaveCallback ((char*)&XtShellStrings[1189])
+#endif
+#ifndef XtNsaveCompleteCallback
+#define XtNsaveCompleteCallback ((char*)&XtShellStrings[1202])
+#endif
+#ifndef XtNsessionID
+#define XtNsessionID ((char*)&XtShellStrings[1223])
+#endif
+#ifndef XtCSessionID
+#define XtCSessionID ((char*)&XtShellStrings[1233])
+#endif
+#ifndef XtNshutdownCommand
+#define XtNshutdownCommand ((char*)&XtShellStrings[1243])
+#endif
+#ifndef XtCShutdownCommand
+#define XtCShutdownCommand ((char*)&XtShellStrings[1259])
+#endif
+#ifndef XtNerrorCallback
+#define XtNerrorCallback ((char*)&XtShellStrings[1275])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtShell_h_Const
+#endif
+
+/* Class record constants */
+
+typedef struct _ShellClassRec *ShellWidgetClass;
+typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
+typedef struct _WMShellClassRec *WMShellWidgetClass;
+typedef struct _TransientShellClassRec *TransientShellWidgetClass;
+typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
+typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;
+typedef struct _SessionShellClassRec *SessionShellWidgetClass;
+
+#ifndef SHELL
+externalref WidgetClass shellWidgetClass;
+externalref WidgetClass overrideShellWidgetClass;
+externalref WidgetClass wmShellWidgetClass;
+externalref WidgetClass transientShellWidgetClass;
+externalref WidgetClass topLevelShellWidgetClass;
+externalref WidgetClass applicationShellWidgetClass;
+externalref WidgetClass sessionShellWidgetClass;
+#endif
+
+#endif /* _XtShell_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/StringDefs.h b/X11/StringDefs.h new file mode 100644 index 000000000..353a1be69 --- /dev/null +++ b/X11/StringDefs.h @@ -0,0 +1,1090 @@ +/* $Xorg: StrDefs.ht,v 1.4 2001/02/09 02:04:00 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/util/StrDefs.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtStringDefs_h_
+#define _XtStringDefs_h_
+
+#ifndef XTSTRINGDEFINES
+#define _XtStringDefs_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNaccelerators "accelerators"
+#define XtNallowHoriz "allowHoriz"
+#define XtNallowVert "allowVert"
+#define XtNancestorSensitive "ancestorSensitive"
+#define XtNbackground "background"
+#define XtNbackgroundPixmap "backgroundPixmap"
+#define XtNbitmap "bitmap"
+#define XtNborderColor "borderColor"
+#define XtNborder "borderColor"
+#define XtNborderPixmap "borderPixmap"
+#define XtNborderWidth "borderWidth"
+#define XtNcallback "callback"
+#define XtNchildren "children"
+#define XtNcolormap "colormap"
+#define XtNdepth "depth"
+#define XtNdestroyCallback "destroyCallback"
+#define XtNeditType "editType"
+#define XtNfile "file"
+#define XtNfont "font"
+#define XtNforceBars "forceBars"
+#define XtNforeground "foreground"
+#define XtNfunction "function"
+#define XtNheight "height"
+#define XtNhighlight "highlight"
+#define XtNhSpace "hSpace"
+#define XtNindex "index"
+#define XtNinitialResourcesPersistent "initialResourcesPersistent"
+#define XtNinnerHeight "innerHeight"
+#define XtNinnerWidth "innerWidth"
+#define XtNinnerWindow "innerWindow"
+#define XtNinsertPosition "insertPosition"
+#define XtNinternalHeight "internalHeight"
+#define XtNinternalWidth "internalWidth"
+#define XtNjumpProc "jumpProc"
+#define XtNjustify "justify"
+#define XtNknobHeight "knobHeight"
+#define XtNknobIndent "knobIndent"
+#define XtNknobPixel "knobPixel"
+#define XtNknobWidth "knobWidth"
+#define XtNlabel "label"
+#define XtNlength "length"
+#define XtNlowerRight "lowerRight"
+#define XtNmappedWhenManaged "mappedWhenManaged"
+#define XtNmenuEntry "menuEntry"
+#define XtNname "name"
+#define XtNnotify "notify"
+#define XtNnumChildren "numChildren"
+#define XtNorientation "orientation"
+#define XtNparameter "parameter"
+#define XtNpixmap "pixmap"
+#define XtNpopupCallback "popupCallback"
+#define XtNpopdownCallback "popdownCallback"
+#define XtNresize "resize"
+#define XtNreverseVideo "reverseVideo"
+#define XtNscreen "screen"
+#define XtNscrollProc "scrollProc"
+#define XtNscrollDCursor "scrollDCursor"
+#define XtNscrollHCursor "scrollHCursor"
+#define XtNscrollLCursor "scrollLCursor"
+#define XtNscrollRCursor "scrollRCursor"
+#define XtNscrollUCursor "scrollUCursor"
+#define XtNscrollVCursor "scrollVCursor"
+#define XtNselection "selection"
+#define XtNselectionArray "selectionArray"
+#define XtNsensitive "sensitive"
+#define XtNshown "shown"
+#define XtNspace "space"
+#define XtNstring "string"
+#define XtNtextOptions "textOptions"
+#define XtNtextSink "textSink"
+#define XtNtextSource "textSource"
+#define XtNthickness "thickness"
+#define XtNthumb "thumb"
+#define XtNthumbProc "thumbProc"
+#define XtNtop "top"
+#define XtNtranslations "translations"
+#define XtNunrealizeCallback "unrealizeCallback"
+#define XtNupdate "update"
+#define XtNuseBottom "useBottom"
+#define XtNuseRight "useRight"
+#define XtNvalue "value"
+#define XtNvSpace "vSpace"
+#define XtNwidth "width"
+#define XtNwindow "window"
+#define XtNx "x"
+#define XtNy "y"
+#define XtCAccelerators "Accelerators"
+#define XtCBackground "Background"
+#define XtCBitmap "Bitmap"
+#define XtCBoolean "Boolean"
+#define XtCBorderColor "BorderColor"
+#define XtCBorderWidth "BorderWidth"
+#define XtCCallback "Callback"
+#define XtCColormap "Colormap"
+#define XtCColor "Color"
+#define XtCCursor "Cursor"
+#define XtCDepth "Depth"
+#define XtCEditType "EditType"
+#define XtCEventBindings "EventBindings"
+#define XtCFile "File"
+#define XtCFont "Font"
+#define XtCForeground "Foreground"
+#define XtCFraction "Fraction"
+#define XtCFunction "Function"
+#define XtCHeight "Height"
+#define XtCHSpace "HSpace"
+#define XtCIndex "Index"
+#define XtCInitialResourcesPersistent "InitialResourcesPersistent"
+#define XtCInsertPosition "InsertPosition"
+#define XtCInterval "Interval"
+#define XtCJustify "Justify"
+#define XtCKnobIndent "KnobIndent"
+#define XtCKnobPixel "KnobPixel"
+#define XtCLabel "Label"
+#define XtCLength "Length"
+#define XtCMappedWhenManaged "MappedWhenManaged"
+#define XtCMargin "Margin"
+#define XtCMenuEntry "MenuEntry"
+#define XtCNotify "Notify"
+#define XtCOrientation "Orientation"
+#define XtCParameter "Parameter"
+#define XtCPixmap "Pixmap"
+#define XtCPosition "Position"
+#define XtCReadOnly "ReadOnly"
+#define XtCResize "Resize"
+#define XtCReverseVideo "ReverseVideo"
+#define XtCScreen "Screen"
+#define XtCScrollProc "ScrollProc"
+#define XtCScrollDCursor "ScrollDCursor"
+#define XtCScrollHCursor "ScrollHCursor"
+#define XtCScrollLCursor "ScrollLCursor"
+#define XtCScrollRCursor "ScrollRCursor"
+#define XtCScrollUCursor "ScrollUCursor"
+#define XtCScrollVCursor "ScrollVCursor"
+#define XtCSelection "Selection"
+#define XtCSensitive "Sensitive"
+#define XtCSelectionArray "SelectionArray"
+#define XtCSpace "Space"
+#define XtCString "String"
+#define XtCTextOptions "TextOptions"
+#define XtCTextPosition "TextPosition"
+#define XtCTextSink "TextSink"
+#define XtCTextSource "TextSource"
+#define XtCThickness "Thickness"
+#define XtCThumb "Thumb"
+#define XtCTranslations "Translations"
+#define XtCValue "Value"
+#define XtCVSpace "VSpace"
+#define XtCWidth "Width"
+#define XtCWindow "Window"
+#define XtCX "X"
+#define XtCY "Y"
+#define XtRAcceleratorTable "AcceleratorTable"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtRBitmap "Bitmap"
+#define XtRBool "Bool"
+#define XtRBoolean "Boolean"
+#define XtRCallback "Callback"
+#define XtRCallProc "CallProc"
+#define XtRCardinal "Cardinal"
+#define XtRColor "Color"
+#define XtRColormap "Colormap"
+#define XtRCursor "Cursor"
+#define XtRDimension "Dimension"
+#define XtRDisplay "Display"
+#define XtREditMode "EditMode"
+#define XtREnum "Enum"
+#define XtRFile "File"
+#define XtRFloat "Float"
+#define XtRFont "Font"
+#define XtRFontStruct "FontStruct"
+#define XtRFunction "Function"
+#define XtRGeometry "Geometry"
+#define XtRImmediate "Immediate"
+#define XtRInitialState "InitialState"
+#define XtRInt "Int"
+#define XtRJustify "Justify"
+#define XtRLongBoolean "Bool"
+#define XtRObject "Object"
+#define XtROrientation "Orientation"
+#define XtRPixel "Pixel"
+#define XtRPixmap "Pixmap"
+#define XtRPointer "Pointer"
+#define XtRPosition "Position"
+#define XtRScreen "Screen"
+#define XtRShort "Short"
+#define XtRString "String"
+#define XtRStringArray "StringArray"
+#define XtRStringTable "StringTable"
+#define XtRUnsignedChar "UnsignedChar"
+#define XtRTranslationTable "TranslationTable"
+#define XtRVisual "Visual"
+#define XtRWidget "Widget"
+#define XtRWidgetClass "WidgetClass"
+#define XtRWidgetList "WidgetList"
+#define XtRWindow "Window"
+#define XtEoff "off"
+#define XtEfalse "false"
+#define XtEno "no"
+#define XtEon "on"
+#define XtEtrue "true"
+#define XtEyes "yes"
+#define XtEvertical "vertical"
+#define XtEhorizontal "horizontal"
+#define XtEtextRead "read"
+#define XtEtextAppend "append"
+#define XtEtextEdit "edit"
+#define XtExtdefaultbackground "xtdefaultbackground"
+#define XtExtdefaultforeground "xtdefaultforeground"
+#define XtExtdefaultfont "xtdefaultfont"
+#define XtNfontSet "fontSet"
+#define XtRFontSet "FontSet"
+#define XtCFontSet "FontSet"
+#define XtRGravity "Gravity"
+#define XtNcreateHook "createHook"
+#define XtNchangeHook "changeHook"
+#define XtNconfigureHook "configureHook"
+#define XtNgeometryHook "geometryHook"
+#define XtNdestroyHook "destroyHook"
+#define XtNshells "shells"
+#define XtNnumShells "numShells"
+#define XtRCommandArgArray "CommandArgArray"
+#define XtRDirectoryString "DirectoryString"
+#define XtREnvironmentArray "EnvironmentArray"
+#define XtRRestartStyle "RestartStyle"
+#define XtRSmcConn "SmcConn"
+#define XtHcreate "Xtcreate"
+#define XtHsetValues "XtsetValues"
+#define XtHmanageChildren "XtmanageChildren"
+#define XtHunmanageChildren "XtunmanageChildren"
+#define XtHmanageSet "XtmanageSet"
+#define XtHunmanageSet "XtunmanageSet"
+#define XtHrealizeWidget "XtrealizeWidget"
+#define XtHunrealizeWidget "XtunrealizeWidget"
+#define XtHaddCallback "XtaddCallback"
+#define XtHaddCallbacks "XtaddCallbacks"
+#define XtHremoveCallback "XtremoveCallback"
+#define XtHremoveCallbacks "XtremoveCallbacks"
+#define XtHremoveAllCallbacks "XtremoveAllCallbacks"
+#define XtHaugmentTranslations "XtaugmentTranslations"
+#define XtHoverrideTranslations "XtoverrideTranslations"
+#define XtHuninstallTranslations "XtuninstallTranslations"
+#define XtHsetKeyboardFocus "XtsetKeyboardFocus"
+#define XtHsetWMColormapWindows "XtsetWMColormapWindows"
+#define XtHsetMappedWhenManaged "XtsetMappedWhenManaged"
+#define XtHmapWidget "XtmapWidget"
+#define XtHunmapWidget "XtunmapWidget"
+#define XtHpopup "Xtpopup"
+#define XtHpopupSpringLoaded "XtpopupSpringLoaded"
+#define XtHpopdown "Xtpopdown"
+#define XtHconfigure "Xtconfigure"
+#define XtHpreGeometry "XtpreGeometry"
+#define XtHpostGeometry "XtpostGeometry"
+#define XtHdestroy "Xtdestroy"
+#else
+extern _XtStringDefs_h_Const char XtStrings[];
+#ifndef XtNaccelerators
+#define XtNaccelerators ((char*)&XtStrings[0])
+#endif
+#ifndef XtNallowHoriz
+#define XtNallowHoriz ((char*)&XtStrings[13])
+#endif
+#ifndef XtNallowVert
+#define XtNallowVert ((char*)&XtStrings[24])
+#endif
+#ifndef XtNancestorSensitive
+#define XtNancestorSensitive ((char*)&XtStrings[34])
+#endif
+#ifndef XtNbackground
+#define XtNbackground ((char*)&XtStrings[52])
+#endif
+#ifndef XtNbackgroundPixmap
+#define XtNbackgroundPixmap ((char*)&XtStrings[63])
+#endif
+#ifndef XtNbitmap
+#define XtNbitmap ((char*)&XtStrings[80])
+#endif
+#ifndef XtNborderColor
+#define XtNborderColor ((char*)&XtStrings[87])
+#endif
+#ifndef XtNborder
+#define XtNborder ((char*)&XtStrings[99])
+#endif
+#ifndef XtNborderPixmap
+#define XtNborderPixmap ((char*)&XtStrings[111])
+#endif
+#ifndef XtNborderWidth
+#define XtNborderWidth ((char*)&XtStrings[124])
+#endif
+#ifndef XtNcallback
+#define XtNcallback ((char*)&XtStrings[136])
+#endif
+#ifndef XtNchildren
+#define XtNchildren ((char*)&XtStrings[145])
+#endif
+#ifndef XtNcolormap
+#define XtNcolormap ((char*)&XtStrings[154])
+#endif
+#ifndef XtNdepth
+#define XtNdepth ((char*)&XtStrings[163])
+#endif
+#ifndef XtNdestroyCallback
+#define XtNdestroyCallback ((char*)&XtStrings[169])
+#endif
+#ifndef XtNeditType
+#define XtNeditType ((char*)&XtStrings[185])
+#endif
+#ifndef XtNfile
+#define XtNfile ((char*)&XtStrings[194])
+#endif
+#ifndef XtNfont
+#define XtNfont ((char*)&XtStrings[199])
+#endif
+#ifndef XtNforceBars
+#define XtNforceBars ((char*)&XtStrings[204])
+#endif
+#ifndef XtNforeground
+#define XtNforeground ((char*)&XtStrings[214])
+#endif
+#ifndef XtNfunction
+#define XtNfunction ((char*)&XtStrings[225])
+#endif
+#ifndef XtNheight
+#define XtNheight ((char*)&XtStrings[234])
+#endif
+#ifndef XtNhighlight
+#define XtNhighlight ((char*)&XtStrings[241])
+#endif
+#ifndef XtNhSpace
+#define XtNhSpace ((char*)&XtStrings[251])
+#endif
+#ifndef XtNindex
+#define XtNindex ((char*)&XtStrings[258])
+#endif
+#ifndef XtNinitialResourcesPersistent
+#define XtNinitialResourcesPersistent ((char*)&XtStrings[264])
+#endif
+#ifndef XtNinnerHeight
+#define XtNinnerHeight ((char*)&XtStrings[291])
+#endif
+#ifndef XtNinnerWidth
+#define XtNinnerWidth ((char*)&XtStrings[303])
+#endif
+#ifndef XtNinnerWindow
+#define XtNinnerWindow ((char*)&XtStrings[314])
+#endif
+#ifndef XtNinsertPosition
+#define XtNinsertPosition ((char*)&XtStrings[326])
+#endif
+#ifndef XtNinternalHeight
+#define XtNinternalHeight ((char*)&XtStrings[341])
+#endif
+#ifndef XtNinternalWidth
+#define XtNinternalWidth ((char*)&XtStrings[356])
+#endif
+#ifndef XtNjumpProc
+#define XtNjumpProc ((char*)&XtStrings[370])
+#endif
+#ifndef XtNjustify
+#define XtNjustify ((char*)&XtStrings[379])
+#endif
+#ifndef XtNknobHeight
+#define XtNknobHeight ((char*)&XtStrings[387])
+#endif
+#ifndef XtNknobIndent
+#define XtNknobIndent ((char*)&XtStrings[398])
+#endif
+#ifndef XtNknobPixel
+#define XtNknobPixel ((char*)&XtStrings[409])
+#endif
+#ifndef XtNknobWidth
+#define XtNknobWidth ((char*)&XtStrings[419])
+#endif
+#ifndef XtNlabel
+#define XtNlabel ((char*)&XtStrings[429])
+#endif
+#ifndef XtNlength
+#define XtNlength ((char*)&XtStrings[435])
+#endif
+#ifndef XtNlowerRight
+#define XtNlowerRight ((char*)&XtStrings[442])
+#endif
+#ifndef XtNmappedWhenManaged
+#define XtNmappedWhenManaged ((char*)&XtStrings[453])
+#endif
+#ifndef XtNmenuEntry
+#define XtNmenuEntry ((char*)&XtStrings[471])
+#endif
+#ifndef XtNname
+#define XtNname ((char*)&XtStrings[481])
+#endif
+#ifndef XtNnotify
+#define XtNnotify ((char*)&XtStrings[486])
+#endif
+#ifndef XtNnumChildren
+#define XtNnumChildren ((char*)&XtStrings[493])
+#endif
+#ifndef XtNorientation
+#define XtNorientation ((char*)&XtStrings[505])
+#endif
+#ifndef XtNparameter
+#define XtNparameter ((char*)&XtStrings[517])
+#endif
+#ifndef XtNpixmap
+#define XtNpixmap ((char*)&XtStrings[527])
+#endif
+#ifndef XtNpopupCallback
+#define XtNpopupCallback ((char*)&XtStrings[534])
+#endif
+#ifndef XtNpopdownCallback
+#define XtNpopdownCallback ((char*)&XtStrings[548])
+#endif
+#ifndef XtNresize
+#define XtNresize ((char*)&XtStrings[564])
+#endif
+#ifndef XtNreverseVideo
+#define XtNreverseVideo ((char*)&XtStrings[571])
+#endif
+#ifndef XtNscreen
+#define XtNscreen ((char*)&XtStrings[584])
+#endif
+#ifndef XtNscrollProc
+#define XtNscrollProc ((char*)&XtStrings[591])
+#endif
+#ifndef XtNscrollDCursor
+#define XtNscrollDCursor ((char*)&XtStrings[602])
+#endif
+#ifndef XtNscrollHCursor
+#define XtNscrollHCursor ((char*)&XtStrings[616])
+#endif
+#ifndef XtNscrollLCursor
+#define XtNscrollLCursor ((char*)&XtStrings[630])
+#endif
+#ifndef XtNscrollRCursor
+#define XtNscrollRCursor ((char*)&XtStrings[644])
+#endif
+#ifndef XtNscrollUCursor
+#define XtNscrollUCursor ((char*)&XtStrings[658])
+#endif
+#ifndef XtNscrollVCursor
+#define XtNscrollVCursor ((char*)&XtStrings[672])
+#endif
+#ifndef XtNselection
+#define XtNselection ((char*)&XtStrings[686])
+#endif
+#ifndef XtNselectionArray
+#define XtNselectionArray ((char*)&XtStrings[696])
+#endif
+#ifndef XtNsensitive
+#define XtNsensitive ((char*)&XtStrings[711])
+#endif
+#ifndef XtNshown
+#define XtNshown ((char*)&XtStrings[721])
+#endif
+#ifndef XtNspace
+#define XtNspace ((char*)&XtStrings[727])
+#endif
+#ifndef XtNstring
+#define XtNstring ((char*)&XtStrings[733])
+#endif
+#ifndef XtNtextOptions
+#define XtNtextOptions ((char*)&XtStrings[740])
+#endif
+#ifndef XtNtextSink
+#define XtNtextSink ((char*)&XtStrings[752])
+#endif
+#ifndef XtNtextSource
+#define XtNtextSource ((char*)&XtStrings[761])
+#endif
+#ifndef XtNthickness
+#define XtNthickness ((char*)&XtStrings[772])
+#endif
+#ifndef XtNthumb
+#define XtNthumb ((char*)&XtStrings[782])
+#endif
+#ifndef XtNthumbProc
+#define XtNthumbProc ((char*)&XtStrings[788])
+#endif
+#ifndef XtNtop
+#define XtNtop ((char*)&XtStrings[798])
+#endif
+#ifndef XtNtranslations
+#define XtNtranslations ((char*)&XtStrings[802])
+#endif
+#ifndef XtNunrealizeCallback
+#define XtNunrealizeCallback ((char*)&XtStrings[815])
+#endif
+#ifndef XtNupdate
+#define XtNupdate ((char*)&XtStrings[833])
+#endif
+#ifndef XtNuseBottom
+#define XtNuseBottom ((char*)&XtStrings[840])
+#endif
+#ifndef XtNuseRight
+#define XtNuseRight ((char*)&XtStrings[850])
+#endif
+#ifndef XtNvalue
+#define XtNvalue ((char*)&XtStrings[859])
+#endif
+#ifndef XtNvSpace
+#define XtNvSpace ((char*)&XtStrings[865])
+#endif
+#ifndef XtNwidth
+#define XtNwidth ((char*)&XtStrings[872])
+#endif
+#ifndef XtNwindow
+#define XtNwindow ((char*)&XtStrings[878])
+#endif
+#ifndef XtNx
+#define XtNx ((char*)&XtStrings[885])
+#endif
+#ifndef XtNy
+#define XtNy ((char*)&XtStrings[887])
+#endif
+#ifndef XtCAccelerators
+#define XtCAccelerators ((char*)&XtStrings[889])
+#endif
+#ifndef XtCBackground
+#define XtCBackground ((char*)&XtStrings[902])
+#endif
+#ifndef XtCBitmap
+#define XtCBitmap ((char*)&XtStrings[913])
+#endif
+#ifndef XtCBoolean
+#define XtCBoolean ((char*)&XtStrings[920])
+#endif
+#ifndef XtCBorderColor
+#define XtCBorderColor ((char*)&XtStrings[928])
+#endif
+#ifndef XtCBorderWidth
+#define XtCBorderWidth ((char*)&XtStrings[940])
+#endif
+#ifndef XtCCallback
+#define XtCCallback ((char*)&XtStrings[952])
+#endif
+#ifndef XtCColormap
+#define XtCColormap ((char*)&XtStrings[961])
+#endif
+#ifndef XtCColor
+#define XtCColor ((char*)&XtStrings[970])
+#endif
+#ifndef XtCCursor
+#define XtCCursor ((char*)&XtStrings[976])
+#endif
+#ifndef XtCDepth
+#define XtCDepth ((char*)&XtStrings[983])
+#endif
+#ifndef XtCEditType
+#define XtCEditType ((char*)&XtStrings[989])
+#endif
+#ifndef XtCEventBindings
+#define XtCEventBindings ((char*)&XtStrings[998])
+#endif
+#ifndef XtCFile
+#define XtCFile ((char*)&XtStrings[1012])
+#endif
+#ifndef XtCFont
+#define XtCFont ((char*)&XtStrings[1017])
+#endif
+#ifndef XtCForeground
+#define XtCForeground ((char*)&XtStrings[1022])
+#endif
+#ifndef XtCFraction
+#define XtCFraction ((char*)&XtStrings[1033])
+#endif
+#ifndef XtCFunction
+#define XtCFunction ((char*)&XtStrings[1042])
+#endif
+#ifndef XtCHeight
+#define XtCHeight ((char*)&XtStrings[1051])
+#endif
+#ifndef XtCHSpace
+#define XtCHSpace ((char*)&XtStrings[1058])
+#endif
+#ifndef XtCIndex
+#define XtCIndex ((char*)&XtStrings[1065])
+#endif
+#ifndef XtCInitialResourcesPersistent
+#define XtCInitialResourcesPersistent ((char*)&XtStrings[1071])
+#endif
+#ifndef XtCInsertPosition
+#define XtCInsertPosition ((char*)&XtStrings[1098])
+#endif
+#ifndef XtCInterval
+#define XtCInterval ((char*)&XtStrings[1113])
+#endif
+#ifndef XtCJustify
+#define XtCJustify ((char*)&XtStrings[1122])
+#endif
+#ifndef XtCKnobIndent
+#define XtCKnobIndent ((char*)&XtStrings[1130])
+#endif
+#ifndef XtCKnobPixel
+#define XtCKnobPixel ((char*)&XtStrings[1141])
+#endif
+#ifndef XtCLabel
+#define XtCLabel ((char*)&XtStrings[1151])
+#endif
+#ifndef XtCLength
+#define XtCLength ((char*)&XtStrings[1157])
+#endif
+#ifndef XtCMappedWhenManaged
+#define XtCMappedWhenManaged ((char*)&XtStrings[1164])
+#endif
+#ifndef XtCMargin
+#define XtCMargin ((char*)&XtStrings[1182])
+#endif
+#ifndef XtCMenuEntry
+#define XtCMenuEntry ((char*)&XtStrings[1189])
+#endif
+#ifndef XtCNotify
+#define XtCNotify ((char*)&XtStrings[1199])
+#endif
+#ifndef XtCOrientation
+#define XtCOrientation ((char*)&XtStrings[1206])
+#endif
+#ifndef XtCParameter
+#define XtCParameter ((char*)&XtStrings[1218])
+#endif
+#ifndef XtCPixmap
+#define XtCPixmap ((char*)&XtStrings[1228])
+#endif
+#ifndef XtCPosition
+#define XtCPosition ((char*)&XtStrings[1235])
+#endif
+#ifndef XtCReadOnly
+#define XtCReadOnly ((char*)&XtStrings[1244])
+#endif
+#ifndef XtCResize
+#define XtCResize ((char*)&XtStrings[1253])
+#endif
+#ifndef XtCReverseVideo
+#define XtCReverseVideo ((char*)&XtStrings[1260])
+#endif
+#ifndef XtCScreen
+#define XtCScreen ((char*)&XtStrings[1273])
+#endif
+#ifndef XtCScrollProc
+#define XtCScrollProc ((char*)&XtStrings[1280])
+#endif
+#ifndef XtCScrollDCursor
+#define XtCScrollDCursor ((char*)&XtStrings[1291])
+#endif
+#ifndef XtCScrollHCursor
+#define XtCScrollHCursor ((char*)&XtStrings[1305])
+#endif
+#ifndef XtCScrollLCursor
+#define XtCScrollLCursor ((char*)&XtStrings[1319])
+#endif
+#ifndef XtCScrollRCursor
+#define XtCScrollRCursor ((char*)&XtStrings[1333])
+#endif
+#ifndef XtCScrollUCursor
+#define XtCScrollUCursor ((char*)&XtStrings[1347])
+#endif
+#ifndef XtCScrollVCursor
+#define XtCScrollVCursor ((char*)&XtStrings[1361])
+#endif
+#ifndef XtCSelection
+#define XtCSelection ((char*)&XtStrings[1375])
+#endif
+#ifndef XtCSensitive
+#define XtCSensitive ((char*)&XtStrings[1385])
+#endif
+#ifndef XtCSelectionArray
+#define XtCSelectionArray ((char*)&XtStrings[1395])
+#endif
+#ifndef XtCSpace
+#define XtCSpace ((char*)&XtStrings[1410])
+#endif
+#ifndef XtCString
+#define XtCString ((char*)&XtStrings[1416])
+#endif
+#ifndef XtCTextOptions
+#define XtCTextOptions ((char*)&XtStrings[1423])
+#endif
+#ifndef XtCTextPosition
+#define XtCTextPosition ((char*)&XtStrings[1435])
+#endif
+#ifndef XtCTextSink
+#define XtCTextSink ((char*)&XtStrings[1448])
+#endif
+#ifndef XtCTextSource
+#define XtCTextSource ((char*)&XtStrings[1457])
+#endif
+#ifndef XtCThickness
+#define XtCThickness ((char*)&XtStrings[1468])
+#endif
+#ifndef XtCThumb
+#define XtCThumb ((char*)&XtStrings[1478])
+#endif
+#ifndef XtCTranslations
+#define XtCTranslations ((char*)&XtStrings[1484])
+#endif
+#ifndef XtCValue
+#define XtCValue ((char*)&XtStrings[1497])
+#endif
+#ifndef XtCVSpace
+#define XtCVSpace ((char*)&XtStrings[1503])
+#endif
+#ifndef XtCWidth
+#define XtCWidth ((char*)&XtStrings[1510])
+#endif
+#ifndef XtCWindow
+#define XtCWindow ((char*)&XtStrings[1516])
+#endif
+#ifndef XtCX
+#define XtCX ((char*)&XtStrings[1523])
+#endif
+#ifndef XtCY
+#define XtCY ((char*)&XtStrings[1525])
+#endif
+#ifndef XtRAcceleratorTable
+#define XtRAcceleratorTable ((char*)&XtStrings[1527])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtStrings[1544])
+#endif
+#ifndef XtRBitmap
+#define XtRBitmap ((char*)&XtStrings[1549])
+#endif
+#ifndef XtRBool
+#define XtRBool ((char*)&XtStrings[1556])
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean ((char*)&XtStrings[1561])
+#endif
+#ifndef XtRCallback
+#define XtRCallback ((char*)&XtStrings[1569])
+#endif
+#ifndef XtRCallProc
+#define XtRCallProc ((char*)&XtStrings[1578])
+#endif
+#ifndef XtRCardinal
+#define XtRCardinal ((char*)&XtStrings[1587])
+#endif
+#ifndef XtRColor
+#define XtRColor ((char*)&XtStrings[1596])
+#endif
+#ifndef XtRColormap
+#define XtRColormap ((char*)&XtStrings[1602])
+#endif
+#ifndef XtRCursor
+#define XtRCursor ((char*)&XtStrings[1611])
+#endif
+#ifndef XtRDimension
+#define XtRDimension ((char*)&XtStrings[1618])
+#endif
+#ifndef XtRDisplay
+#define XtRDisplay ((char*)&XtStrings[1628])
+#endif
+#ifndef XtREditMode
+#define XtREditMode ((char*)&XtStrings[1636])
+#endif
+#ifndef XtREnum
+#define XtREnum ((char*)&XtStrings[1645])
+#endif
+#ifndef XtRFile
+#define XtRFile ((char*)&XtStrings[1650])
+#endif
+#ifndef XtRFloat
+#define XtRFloat ((char*)&XtStrings[1655])
+#endif
+#ifndef XtRFont
+#define XtRFont ((char*)&XtStrings[1661])
+#endif
+#ifndef XtRFontStruct
+#define XtRFontStruct ((char*)&XtStrings[1666])
+#endif
+#ifndef XtRFunction
+#define XtRFunction ((char*)&XtStrings[1677])
+#endif
+#ifndef XtRGeometry
+#define XtRGeometry ((char*)&XtStrings[1686])
+#endif
+#ifndef XtRImmediate
+#define XtRImmediate ((char*)&XtStrings[1695])
+#endif
+#ifndef XtRInitialState
+#define XtRInitialState ((char*)&XtStrings[1705])
+#endif
+#ifndef XtRInt
+#define XtRInt ((char*)&XtStrings[1718])
+#endif
+#ifndef XtRJustify
+#define XtRJustify ((char*)&XtStrings[1722])
+#endif
+#ifndef XtRLongBoolean
+#define XtRLongBoolean ((char*)&XtStrings[1730])
+#endif
+#ifndef XtRObject
+#define XtRObject ((char*)&XtStrings[1735])
+#endif
+#ifndef XtROrientation
+#define XtROrientation ((char*)&XtStrings[1742])
+#endif
+#ifndef XtRPixel
+#define XtRPixel ((char*)&XtStrings[1754])
+#endif
+#ifndef XtRPixmap
+#define XtRPixmap ((char*)&XtStrings[1760])
+#endif
+#ifndef XtRPointer
+#define XtRPointer ((char*)&XtStrings[1767])
+#endif
+#ifndef XtRPosition
+#define XtRPosition ((char*)&XtStrings[1775])
+#endif
+#ifndef XtRScreen
+#define XtRScreen ((char*)&XtStrings[1784])
+#endif
+#ifndef XtRShort
+#define XtRShort ((char*)&XtStrings[1791])
+#endif
+#ifndef XtRString
+#define XtRString ((char*)&XtStrings[1797])
+#endif
+#ifndef XtRStringArray
+#define XtRStringArray ((char*)&XtStrings[1804])
+#endif
+#ifndef XtRStringTable
+#define XtRStringTable ((char*)&XtStrings[1816])
+#endif
+#ifndef XtRUnsignedChar
+#define XtRUnsignedChar ((char*)&XtStrings[1828])
+#endif
+#ifndef XtRTranslationTable
+#define XtRTranslationTable ((char*)&XtStrings[1841])
+#endif
+#ifndef XtRVisual
+#define XtRVisual ((char*)&XtStrings[1858])
+#endif
+#ifndef XtRWidget
+#define XtRWidget ((char*)&XtStrings[1865])
+#endif
+#ifndef XtRWidgetClass
+#define XtRWidgetClass ((char*)&XtStrings[1872])
+#endif
+#ifndef XtRWidgetList
+#define XtRWidgetList ((char*)&XtStrings[1884])
+#endif
+#ifndef XtRWindow
+#define XtRWindow ((char*)&XtStrings[1895])
+#endif
+#ifndef XtEoff
+#define XtEoff ((char*)&XtStrings[1902])
+#endif
+#ifndef XtEfalse
+#define XtEfalse ((char*)&XtStrings[1906])
+#endif
+#ifndef XtEno
+#define XtEno ((char*)&XtStrings[1912])
+#endif
+#ifndef XtEon
+#define XtEon ((char*)&XtStrings[1915])
+#endif
+#ifndef XtEtrue
+#define XtEtrue ((char*)&XtStrings[1918])
+#endif
+#ifndef XtEyes
+#define XtEyes ((char*)&XtStrings[1923])
+#endif
+#ifndef XtEvertical
+#define XtEvertical ((char*)&XtStrings[1927])
+#endif
+#ifndef XtEhorizontal
+#define XtEhorizontal ((char*)&XtStrings[1936])
+#endif
+#ifndef XtEtextRead
+#define XtEtextRead ((char*)&XtStrings[1947])
+#endif
+#ifndef XtEtextAppend
+#define XtEtextAppend ((char*)&XtStrings[1952])
+#endif
+#ifndef XtEtextEdit
+#define XtEtextEdit ((char*)&XtStrings[1959])
+#endif
+#ifndef XtExtdefaultbackground
+#define XtExtdefaultbackground ((char*)&XtStrings[1964])
+#endif
+#ifndef XtExtdefaultforeground
+#define XtExtdefaultforeground ((char*)&XtStrings[1984])
+#endif
+#ifndef XtExtdefaultfont
+#define XtExtdefaultfont ((char*)&XtStrings[2004])
+#endif
+#ifndef XtNfontSet
+#define XtNfontSet ((char*)&XtStrings[2018])
+#endif
+#ifndef XtRFontSet
+#define XtRFontSet ((char*)&XtStrings[2026])
+#endif
+#ifndef XtCFontSet
+#define XtCFontSet ((char*)&XtStrings[2034])
+#endif
+#ifndef XtRGravity
+#define XtRGravity ((char*)&XtStrings[2042])
+#endif
+#ifndef XtNcreateHook
+#define XtNcreateHook ((char*)&XtStrings[2050])
+#endif
+#ifndef XtNchangeHook
+#define XtNchangeHook ((char*)&XtStrings[2061])
+#endif
+#ifndef XtNconfigureHook
+#define XtNconfigureHook ((char*)&XtStrings[2072])
+#endif
+#ifndef XtNgeometryHook
+#define XtNgeometryHook ((char*)&XtStrings[2086])
+#endif
+#ifndef XtNdestroyHook
+#define XtNdestroyHook ((char*)&XtStrings[2099])
+#endif
+#ifndef XtNshells
+#define XtNshells ((char*)&XtStrings[2111])
+#endif
+#ifndef XtNnumShells
+#define XtNnumShells ((char*)&XtStrings[2118])
+#endif
+#ifndef XtRCommandArgArray
+#define XtRCommandArgArray ((char*)&XtStrings[2128])
+#endif
+#ifndef XtRDirectoryString
+#define XtRDirectoryString ((char*)&XtStrings[2144])
+#endif
+#ifndef XtREnvironmentArray
+#define XtREnvironmentArray ((char*)&XtStrings[2160])
+#endif
+#ifndef XtRRestartStyle
+#define XtRRestartStyle ((char*)&XtStrings[2177])
+#endif
+#ifndef XtRSmcConn
+#define XtRSmcConn ((char*)&XtStrings[2190])
+#endif
+#ifndef XtHcreate
+#define XtHcreate ((char*)&XtStrings[2198])
+#endif
+#ifndef XtHsetValues
+#define XtHsetValues ((char*)&XtStrings[2207])
+#endif
+#ifndef XtHmanageChildren
+#define XtHmanageChildren ((char*)&XtStrings[2219])
+#endif
+#ifndef XtHunmanageChildren
+#define XtHunmanageChildren ((char*)&XtStrings[2236])
+#endif
+#ifndef XtHmanageSet
+#define XtHmanageSet ((char*)&XtStrings[2255])
+#endif
+#ifndef XtHunmanageSet
+#define XtHunmanageSet ((char*)&XtStrings[2267])
+#endif
+#ifndef XtHrealizeWidget
+#define XtHrealizeWidget ((char*)&XtStrings[2281])
+#endif
+#ifndef XtHunrealizeWidget
+#define XtHunrealizeWidget ((char*)&XtStrings[2297])
+#endif
+#ifndef XtHaddCallback
+#define XtHaddCallback ((char*)&XtStrings[2315])
+#endif
+#ifndef XtHaddCallbacks
+#define XtHaddCallbacks ((char*)&XtStrings[2329])
+#endif
+#ifndef XtHremoveCallback
+#define XtHremoveCallback ((char*)&XtStrings[2344])
+#endif
+#ifndef XtHremoveCallbacks
+#define XtHremoveCallbacks ((char*)&XtStrings[2361])
+#endif
+#ifndef XtHremoveAllCallbacks
+#define XtHremoveAllCallbacks ((char*)&XtStrings[2379])
+#endif
+#ifndef XtHaugmentTranslations
+#define XtHaugmentTranslations ((char*)&XtStrings[2400])
+#endif
+#ifndef XtHoverrideTranslations
+#define XtHoverrideTranslations ((char*)&XtStrings[2422])
+#endif
+#ifndef XtHuninstallTranslations
+#define XtHuninstallTranslations ((char*)&XtStrings[2445])
+#endif
+#ifndef XtHsetKeyboardFocus
+#define XtHsetKeyboardFocus ((char*)&XtStrings[2469])
+#endif
+#ifndef XtHsetWMColormapWindows
+#define XtHsetWMColormapWindows ((char*)&XtStrings[2488])
+#endif
+#ifndef XtHsetMappedWhenManaged
+#define XtHsetMappedWhenManaged ((char*)&XtStrings[2511])
+#endif
+#ifndef XtHmapWidget
+#define XtHmapWidget ((char*)&XtStrings[2534])
+#endif
+#ifndef XtHunmapWidget
+#define XtHunmapWidget ((char*)&XtStrings[2546])
+#endif
+#ifndef XtHpopup
+#define XtHpopup ((char*)&XtStrings[2560])
+#endif
+#ifndef XtHpopupSpringLoaded
+#define XtHpopupSpringLoaded ((char*)&XtStrings[2568])
+#endif
+#ifndef XtHpopdown
+#define XtHpopdown ((char*)&XtStrings[2588])
+#endif
+#ifndef XtHconfigure
+#define XtHconfigure ((char*)&XtStrings[2598])
+#endif
+#ifndef XtHpreGeometry
+#define XtHpreGeometry ((char*)&XtStrings[2610])
+#endif
+#ifndef XtHpostGeometry
+#define XtHpostGeometry ((char*)&XtStrings[2624])
+#endif
+#ifndef XtHdestroy
+#define XtHdestroy ((char*)&XtStrings[2639])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtStringDefs_h_Const
+#endif
+
+#endif /* _XtStringDefs_h_ */
diff --git a/X11/ThreadsI.h b/X11/ThreadsI.h new file mode 100644 index 000000000..b1c51e73f --- /dev/null +++ b/X11/ThreadsI.h @@ -0,0 +1,131 @@ +/* $Xorg: ThreadsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */ + +/************************************************************ + +Copyright 1993 Sun Microsystems, Inc. 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, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. + +********************************************************/ + +/* + +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/XKBlib.h b/X11/XKBlib.h new file mode 100644 index 000000000..291fc0515 --- /dev/null +++ b/X11/XKBlib.h @@ -0,0 +1,1149 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +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 Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS 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 _XKBLIB_H_ +#define _XKBLIB_H_ + +#include <X11/Xlib.h> +#include <X11/extensions/XKBstr.h> + +typedef struct _XkbAnyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* # of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XKB event minor code */ + unsigned int device; /* device ID */ +} XkbAnyEvent; + +typedef struct _XkbNewKeyboardNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbNewKeyboardNotify */ + int device; /* device ID */ + int old_device; /* device ID of previous keyboard */ + int min_key_code; /* minimum key code */ + int max_key_code; /* maximum key code */ + int old_min_key_code;/* min key code of previous kbd */ + int old_max_key_code;/* max key code of previous kbd */ + unsigned int changed; /* changed aspects of the keyboard */ + char req_major; /* major and minor opcode of req */ + char req_minor; /* that caused change, if applicable */ +} XkbNewKeyboardNotifyEvent; + +typedef struct _XkbMapNotifyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbMapNotify */ + int device; /* device ID */ + unsigned int changed; /* fields which have been changed */ + unsigned int flags; /* reserved */ + int first_type; /* first changed key type */ + int num_types; /* number of changed key types */ + KeyCode min_key_code; + KeyCode max_key_code; + KeyCode first_key_sym; + KeyCode first_key_act; + KeyCode first_key_behavior; + KeyCode first_key_explicit; + KeyCode first_modmap_key; + KeyCode first_vmodmap_key; + int num_key_syms; + int num_key_acts; + int num_key_behaviors; + int num_key_explicit; + int num_modmap_keys; + int num_vmodmap_keys; + unsigned int vmods; /* mask of changed virtual mods */ +} XkbMapNotifyEvent; + +typedef struct _XkbStateNotifyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* # of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbStateNotify */ + int device; /* device ID */ + unsigned int changed; /* mask of changed state components */ + int group; /* keyboard group */ + int base_group; /* base keyboard group */ + int latched_group; /* latched keyboard group */ + int locked_group; /* locked keyboard group */ + unsigned int mods; /* modifier state */ + unsigned int base_mods; /* base modifier state */ + unsigned int latched_mods; /* latched modifiers */ + unsigned int locked_mods; /* locked modifiers */ + int compat_state; /* compatibility state */ + unsigned char grab_mods; /* mods used for grabs */ + unsigned char compat_grab_mods;/* grab mods for non-XKB clients */ + unsigned char lookup_mods; /* mods sent to clients */ + unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */ + int ptr_buttons; /* pointer button state */ + KeyCode keycode; /* keycode that caused the change */ + char event_type; /* KeyPress or KeyRelease */ + char req_major; /* Major opcode of request */ + char req_minor; /* Minor opcode of request */ +} XkbStateNotifyEvent; + +typedef struct _XkbControlsNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbControlsNotify */ + int device; /* device ID */ + unsigned int changed_ctrls; /* controls with changed sub-values */ + unsigned int enabled_ctrls; /* controls currently enabled */ + unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */ + int num_groups; /* total groups on keyboard */ + KeyCode keycode; /* key that caused change or 0 */ + char event_type; /* type of event that caused change */ + char req_major; /* if keycode==0, major and minor */ + char req_minor; /* opcode of req that caused change */ +} XkbControlsNotifyEvent; + +typedef struct _XkbIndicatorNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbIndicatorNotify */ + int device; /* device ID */ + unsigned int changed; /* indicators with new state or map */ + unsigned int state; /* current state of all indicators */ +} XkbIndicatorNotifyEvent; + +typedef struct _XkbNamesNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbNamesNotify */ + int device; /* device ID */ + unsigned int changed; /* names that have changed */ + int first_type; /* first key type with new name */ + int num_types; /* number of key types with new names */ + int first_lvl; /* first key type new new level names */ + int num_lvls; /* # of key types w/new level names */ + int num_aliases; /* total number of key aliases*/ + int num_radio_groups;/* total number of radio groups */ + unsigned int changed_vmods; /* virtual modifiers with new names */ + unsigned int changed_groups; /* groups with new names */ + unsigned int changed_indicators;/* indicators with new names */ + int first_key; /* first key with new name */ + int num_keys; /* number of keys with new names */ +} XkbNamesNotifyEvent; + +typedef struct _XkbCompatMapNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbCompatMapNotify */ + int device; /* device ID */ + unsigned int changed_groups; /* groups with new compat maps */ + int first_si; /* first new symbol interp */ + int num_si; /* number of new symbol interps */ + int num_total_si; /* total # of symbol interps */ +} XkbCompatMapNotifyEvent; + +typedef struct _XkbBellNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbBellNotify */ + int device; /* device ID */ + int percent; /* requested volume as a % of maximum */ + int pitch; /* requested pitch in Hz */ + int duration; /* requested duration in useconds */ + int bell_class; /* (input extension) feedback class */ + int bell_id; /* (input extension) ID of feedback */ + Atom name; /* "name" of requested bell */ + Window window; /* window associated with event */ + Bool event_only; /* "event only" requested */ +} XkbBellNotifyEvent; + +typedef struct _XkbActionMessage { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbActionMessage */ + int device; /* device ID */ + KeyCode keycode; /* key that generated the event */ + Bool press; /* true if act caused by key press */ + Bool key_event_follows;/* true if key event also generated */ + int group; /* effective group */ + unsigned int mods; /* effective mods */ + char message[XkbActionMessageLength+1]; + /* message -- leave space for NUL */ +} XkbActionMessageEvent; + +typedef struct _XkbAccessXNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbAccessXNotify */ + int device; /* device ID */ + int detail; /* XkbAXN_* */ + int keycode; /* key of event */ + int sk_delay; /* current slow keys delay */ + int debounce_delay; /* current debounce delay */ +} XkbAccessXNotifyEvent; + +typedef struct _XkbExtensionDeviceNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbExtensionDeviceNotify */ + int device; /* device ID */ + unsigned int reason; /* reason for the event */ + unsigned int supported; /* mask of supported features */ + unsigned int unsupported; /* mask of unsupported features */ + /* that some app tried to use */ + int first_btn; /* first button that changed */ + int num_btns; /* range of buttons changed */ + unsigned int leds_defined; /* indicators with names or maps */ + unsigned int led_state; /* current state of the indicators */ + int led_class; /* feedback class for led changes */ + int led_id; /* feedback id for led changes */ +} XkbExtensionDeviceNotifyEvent; + +typedef union _XkbEvent { + int type; + XkbAnyEvent any; + XkbNewKeyboardNotifyEvent new_kbd; + XkbMapNotifyEvent map; + XkbStateNotifyEvent state; + XkbControlsNotifyEvent ctrls; + XkbIndicatorNotifyEvent indicators; + XkbNamesNotifyEvent names; + XkbCompatMapNotifyEvent compat; + XkbBellNotifyEvent bell; + XkbActionMessageEvent message; + XkbAccessXNotifyEvent accessx; + XkbExtensionDeviceNotifyEvent device; + XEvent core; +} XkbEvent; + +typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr; + + /* XkbOpenDisplay error codes */ +#define XkbOD_Success 0 +#define XkbOD_BadLibraryVersion 1 +#define XkbOD_ConnectionRefused 2 +#define XkbOD_NonXkbServer 3 +#define XkbOD_BadServerVersion 4 + + /* Values for XlibFlags */ +#define XkbLC_ForceLatin1Lookup (1<<0) +#define XkbLC_ConsumeLookupMods (1<<1) +#define XkbLC_AlwaysConsumeShiftAndLock (1<<2) +#define XkbLC_IgnoreNewKeyboards (1<<3) +#define XkbLC_ControlFallback (1<<4) +#define XkbLC_ConsumeKeysOnComposeFail (1<<29) +#define XkbLC_ComposeLED (1<<30) +#define XkbLC_BeepOnComposeFail (1<<31) + +#define XkbLC_AllComposeControls (0xc0000000) +#define XkbLC_AllControls (0xc000001f) + +_XFUNCPROTOBEGIN + +extern Bool XkbIgnoreExtension( + Bool /* ignore */ +); + +extern Display *XkbOpenDisplay( + char * /* name */, + int * /* ev_rtrn */, + int * /* err_rtrn */, + int * /* major_rtrn */, + int * /* minor_rtrn */, + int * /* reason */ +); + +extern Bool XkbQueryExtension( + Display * /* dpy */, + int * /* opcodeReturn */, + int * /* eventBaseReturn */, + int * /* errorBaseReturn */, + int * /* majorRtrn */, + int * /* minorRtrn */ +); + +extern Bool XkbUseExtension( + Display * /* dpy */, + int * /* major_rtrn */, + int * /* minor_rtrn */ +); + +extern Bool XkbLibraryVersion( + int * /* libMajorRtrn */, + int * /* libMinorRtrn */ +); + +extern unsigned int XkbSetXlibControls( + Display* /* dpy */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern unsigned int XkbGetXlibControls( + Display* /* dpy */ +); + +extern unsigned int XkbXlibControlsImplemented(void); + +typedef Atom (*XkbInternAtomFunc)( + Display * /* dpy */, + _Xconst char * /* name */, + Bool /* only_if_exists */ +); + +typedef char * (*XkbGetAtomNameFunc)( + Display * /* dpy */, + Atom /* atom */ +); + +extern void XkbSetAtomFuncs( + XkbInternAtomFunc /* getAtom */, + XkbGetAtomNameFunc /* getName */ +); + +extern KeySym XkbKeycodeToKeysym( + Display * /* dpy */, +#if NeedWidePrototypes + unsigned int /* kc */, +#else + KeyCode /* kc */, +#endif + int /* group */, + int /* level */ +); + +extern unsigned int XkbKeysymToModifiers( + Display * /* dpy */, + KeySym /* ks */ +); + +extern Bool XkbLookupKeySym( + Display * /* dpy */, + KeyCode /* keycode */, + unsigned int /* modifiers */, + unsigned int * /* modifiers_return */, + KeySym * /* keysym_return */ +); + +extern int XkbLookupKeyBinding( + Display * /* dpy */, + KeySym /* sym_rtrn */, + unsigned int /* mods */, + char * /* buffer */, + int /* nbytes */, + int * /* extra_rtrn */ +); + +extern Bool XkbTranslateKeyCode( + XkbDescPtr /* xkb */, + KeyCode /* keycode */, + unsigned int /* modifiers */, + unsigned int * /* modifiers_return */, + KeySym * /* keysym_return */ +); + +extern int XkbTranslateKeySym( + Display * /* dpy */, + register KeySym * /* sym_return */, + unsigned int /* modifiers */, + char * /* buffer */, + int /* nbytes */, + int * /* extra_rtrn */ +); + +extern Bool XkbSetAutoRepeatRate( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* delay */, + unsigned int /* interval */ +); + +extern Bool XkbGetAutoRepeatRate( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int * /* delayRtrn */, + unsigned int * /* intervalRtrn */ +); + +extern Bool XkbChangeEnabledControls( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbDeviceBell( + Display * /* dpy */, + Window /* win */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbForceDeviceBell( + Display * /* dpy */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */ +); + +extern Bool XkbDeviceBellEvent( + Display * /* dpy */, + Window /* win */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbBell( + Display * /* dpy */, + Window /* win */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbForceBell( + Display * /* dpy */, + int /* percent */ +); + +extern Bool XkbBellEvent( + Display * /* dpy */, + Window /* win */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbSelectEvents( + Display * /* dpy */, + unsigned int /* deviceID */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbSelectEventDetails( + Display * /* dpy */, + unsigned int /* deviceID */, + unsigned int /* eventType */, + unsigned long /* affect */, + unsigned long /* details */ +); + +extern void XkbNoteMapChanges( + XkbMapChangesPtr /* old */, + XkbMapNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern void XkbNoteNameChanges( + XkbNameChangesPtr /* old */, + XkbNamesNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern Status XkbGetIndicatorState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int * /* pStateRtrn */ +); + +extern Status XkbGetDeviceIndicatorState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + unsigned int * /* pStateRtrn */ +); + +extern Status XkbGetIndicatorMap( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetIndicatorMap( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +#define XkbNoteIndicatorMapChanges(o,n,w) \ + ((o)->map_changes|=((n)->map_changes&(w))) +#define XkbNoteIndicatorStateChanges(o,n,w)\ + ((o)->state_changes|=((n)->state_changes&(w))) +#define XkbGetIndicatorMapChanges(d,x,c) \ + (XkbGetIndicatorMap((d),(c)->map_changes,x)) +#define XkbChangeIndicatorMaps(d,x,c) \ + (XkbSetIndicatorMap((d),(c)->map_changes,x)) + +extern Bool XkbGetNamedIndicator( + Display * /* dpy */, + Atom /* name */, + int * /* pNdxRtrn */, + Bool * /* pStateRtrn */, + XkbIndicatorMapPtr /* pMapRtrn */, + Bool * /* pRealRtrn */ +); + +extern Bool XkbGetNamedDeviceIndicator( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + Atom /* name */, + int * /* pNdxRtrn */, + Bool * /* pStateRtrn */, + XkbIndicatorMapPtr /* pMapRtrn */, + Bool * /* pRealRtrn */ +); + +extern Bool XkbSetNamedIndicator( + Display * /* dpy */, + Atom /* name */, + Bool /* changeState */, + Bool /* state */, + Bool /* createNewMap */, + XkbIndicatorMapPtr /* pMap */ +); + +extern Bool XkbSetNamedDeviceIndicator( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + Atom /* name */, + Bool /* changeState */, + Bool /* state */, + Bool /* createNewMap */, + XkbIndicatorMapPtr /* pMap */ +); + +extern Bool XkbLockModifiers( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbLatchModifiers( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbLockGroup( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* group */ +); + +extern Bool XkbLatchGroup( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* group */ +); + +extern Bool XkbSetServerInternalMods( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affectReal */, + unsigned int /* realValues */, + unsigned int /* affectVirtual */, + unsigned int /* virtualValues */ +); + +extern Bool XkbSetIgnoreLockMods( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affectReal */, + unsigned int /* realValues */, + unsigned int /* affectVirtual */, + unsigned int /* virtualValues */ +); + + +extern Bool XkbVirtualModsToReal( + XkbDescPtr /* xkb */, + unsigned int /* virtual_mask */, + unsigned int * /* mask_rtrn */ +); + +extern Bool XkbComputeEffectiveMap( + XkbDescPtr /* xkb */, + XkbKeyTypePtr /* type */, + unsigned char * /* map_rtrn */ +); + +extern Status XkbInitCanonicalKeyTypes( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* keypadVMod */ +); + +extern XkbDescPtr XkbAllocKeyboard( + void +); + +extern void XkbFreeKeyboard( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeDesc */ +); + +extern Status XkbAllocClientMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nTypes */ +); + +extern Status XkbAllocServerMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nActions */ +); + +extern void XkbFreeClientMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern void XkbFreeServerMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern XkbKeyTypePtr XkbAddKeyType( + XkbDescPtr /* xkb */, + Atom /* name */, + int /* map_count */, + Bool /* want_preserve */, + int /* num_lvls */ +); + +extern Status XkbAllocIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern void XkbFreeIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern XkbDescPtr XkbGetMap( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */ +); + +extern Status XkbGetUpdatedMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetMapChanges( + Display * /* dpy */, + XkbDescPtr /* xkb */, + XkbMapChangesPtr /* changes */ +); + + +extern Status XkbRefreshKeyboardMapping( + XkbMapNotifyEvent * /* event */ +); + +extern Status XkbGetKeyTypes( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeySyms( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeyActions( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeyBehaviors( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetVirtualMods( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyExplicitComponents( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyModifierMap( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyVirtualModMap( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbAllocControls( + XkbDescPtr /* xkb */, + unsigned int /* which*/ +); + +extern void XkbFreeControls( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern Status XkbGetControls( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetControls( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern void XkbNoteControlsChanges( + XkbControlsChangesPtr /* old */, + XkbControlsNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x) +#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x) + +extern Status XkbAllocCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nInterpret */ +); + +extern void XkbFreeCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern Status XkbGetCompatMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* xkb */ +); + +extern Bool XkbSetCompatMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* xkb */, + Bool /* updateActions */ +); + +extern XkbSymInterpretPtr XkbAddSymInterpret( + XkbDescPtr /* xkb */, + XkbSymInterpretPtr /* si */, + Bool /* updateMap */, + XkbChangesPtr /* changes */ +); + +extern Status XkbAllocNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* nTotalRG */, + int /* nTotalAliases */ +); + +extern Status XkbGetNames( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetNames( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* firstType */, + unsigned int /* nTypes */, + XkbDescPtr /* desc */ +); + +extern Bool XkbChangeNames( + Display * /* dpy */, + XkbDescPtr /* xkb */, + XkbNameChangesPtr /* changes */ +); + +extern void XkbFreeNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + + +extern Status XkbGetState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbStatePtr /* rtrnState */ +); + +extern Bool XkbSetMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbChangeMap( + Display* /* dpy */, + XkbDescPtr /* desc */, + XkbMapChangesPtr /* changes */ +); + +extern Bool XkbSetDetectableAutoRepeat( + Display * /* dpy */, + Bool /* detectable */, + Bool * /* supported */ +); + +extern Bool XkbGetDetectableAutoRepeat( + Display * /* dpy */, + Bool * /* supported */ +); + +extern Bool XkbSetAutoResetControls( + Display * /* dpy */, + unsigned int /* changes */, + unsigned int * /* auto_ctrls */, + unsigned int * /* auto_values */ +); + +extern Bool XkbGetAutoResetControls( + Display * /* dpy */, + unsigned int * /* auto_ctrls */, + unsigned int * /* auto_ctrl_values */ +); + +extern Bool XkbSetPerClientControls( + Display * /* dpy */, + unsigned int /* change */, + unsigned int * /* values */ +); + +extern Bool XkbGetPerClientControls( + Display * /* dpy */, + unsigned int * /* ctrls */ +); + +extern Status XkbCopyKeyType( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */ +); + +extern Status XkbCopyKeyTypes( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */, + int /* num_types */ +); + +extern Status XkbResizeKeyType( + XkbDescPtr /* xkb */, + int /* type_ndx */, + int /* map_count */, + Bool /* want_preserve */, + int /* new_num_lvls */ +); + +extern KeySym *XkbResizeKeySyms( + XkbDescPtr /* desc */, + int /* forKey */, + int /* symsNeeded */ +); + +extern XkbAction *XkbResizeKeyActions( + XkbDescPtr /* desc */, + int /* forKey */, + int /* actsNeeded */ +); + +extern Status XkbChangeTypesOfKey( + XkbDescPtr /* xkb */, + int /* key */, + int /* num_groups */, + unsigned int /* groups */, + int * /* newTypes */, + XkbMapChangesPtr /* pChanges */ +); + +extern Status XkbChangeKeycodeRange( + XkbDescPtr /* xkb */, + int /* minKC */, + int /* maxKC */, + XkbChangesPtr /* changes */ +); + +/***====================================================================***/ + +extern XkbComponentListPtr XkbListComponents( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbComponentNamesPtr /* ptrns */, + int * /* max_inout */ +); + +extern void XkbFreeComponentList( + XkbComponentListPtr /* list */ +); + +extern XkbDescPtr XkbGetKeyboard( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */ +); + +extern XkbDescPtr XkbGetKeyboardByName( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbComponentNamesPtr /* names */, + unsigned int /* want */, + unsigned int /* need */, + Bool /* load */ +); + +/***====================================================================***/ + +extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */ + XkbDescPtr /* xkb */, /* keyboard device */ + int /* map_width */, /* width of core KeySym array */ + KeySym * /* core_syms */, /* always mapWidth symbols */ + unsigned int /* protected */, /* explicit key types */ + int * /* types_inout */, /* always four type indices */ + KeySym * /* xkb_syms_rtrn */ /* must have enough space */ +); + +extern Bool XkbApplyCompatMapToKey( /* False only on error */ + XkbDescPtr /* xkb */, /* keymap to be edited */ + KeyCode /* key */, /* key to be updated */ + XkbChangesPtr /* changes */ /* resulting changes to map */ +); + +extern Bool XkbUpdateMapFromCore( /* False only on error */ + XkbDescPtr /* xkb */, /* XKB keyboard to be edited */ + KeyCode /* first_key */, /* first changed key */ + int /* num_keys */, /* number of changed keys */ + int /* map_width */, /* width of core keymap */ + KeySym * /* core_keysyms */, /* symbols from core keymap */ + XkbChangesPtr /* changes */ /* resulting changes */ +); + +/***====================================================================***/ + +extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass */, + unsigned int /* ledId */ +); + +extern Status XkbResizeDeviceButtonActions( + XkbDeviceInfoPtr /* devi */, + unsigned int /* newTotal */ +); + +extern XkbDeviceInfoPtr XkbAllocDeviceInfo( + unsigned int /* deviceSpec */, + unsigned int /* nButtons */, + unsigned int /* szLeds */ +); + +extern void XkbFreeDeviceInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* which */, + Bool /* freeDevI */ +); + +extern void XkbNoteDeviceChanges( + XkbDeviceChangesPtr /* old */, + XkbExtensionDeviceNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern XkbDeviceInfoPtr XkbGetDeviceInfo( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */ +); + +extern Status XkbGetDeviceInfoChanges( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + XkbDeviceChangesPtr /* changes */ +); + +extern Status XkbGetDeviceButtonActions( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + Bool /* all */, + unsigned int /* first */, + unsigned int /* nBtns */ +); + +extern Status XkbGetDeviceLedInfo( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass (class, XIDflt, XIAll) */, + unsigned int /* ledId (id, XIDflt, XIAll) */, + unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */ +); + +extern Bool XkbSetDeviceInfo( + Display * /* dpy */, + unsigned int /* which */, + XkbDeviceInfoPtr /* devi */ +); + +extern Bool XkbChangeDeviceInfo( + Display* /* dpy */, + XkbDeviceInfoPtr /* desc */, + XkbDeviceChangesPtr /* changes */ +); + +extern Bool XkbSetDeviceLedInfo( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + unsigned int /* which */ +); + +extern Bool XkbSetDeviceButtonActions( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* first */, + unsigned int /* nBtns */ +); + +/***====================================================================***/ + +extern char XkbToControl( + char /* c */ +); + +/***====================================================================***/ + +extern Bool XkbSetDebuggingFlags( + Display * /* dpy */, + unsigned int /* mask */, + unsigned int /* flags */, + char * /* msg */, + unsigned int /* ctrls_mask */, + unsigned int /* ctrls */, + unsigned int * /* rtrn_flags */, + unsigned int * /* rtrn_ctrls */ +); + +extern Bool XkbApplyVirtualModChanges( + XkbDescPtr /* xkb */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +extern Bool XkbUpdateActionVirtualMods( + XkbDescPtr /* xkb */, + XkbAction * /* act */, + unsigned int /* changed */ +); + +extern void XkbUpdateKeyTypeVirtualMods( + XkbDescPtr /* xkb */, + XkbKeyTypePtr /* type */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +_XFUNCPROTOEND + +#endif /* _XKBLIB_H_ */ diff --git a/X11/Xauth.h b/X11/Xauth.h new file mode 100644 index 000000000..ace975d84 --- /dev/null +++ b/X11/Xauth.h @@ -0,0 +1,141 @@ +/* $Xorg: Xauth.h,v 1.4 2001/02/09 02:03:42 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ + +/* $XFree86: xc/lib/Xau/Xauth.h,v 1.5 2001/12/14 19:54:36 dawes Exp $ */ + +#ifndef _Xauth_h +#define _Xauth_h + +typedef struct xauth { + unsigned short family; + unsigned short address_length; + char *address; + unsigned short number_length; + char *number; + unsigned short name_length; + char *name; + unsigned short data_length; + char *data; +} Xauth; + +#ifndef _XAUTH_STRUCT_ONLY + +# include <X11/Xfuncproto.h> +# include <X11/Xfuncs.h> + +# include <stdio.h> + +# define FamilyLocal (256) /* not part of X standard (i.e. X.h) */ +# define FamilyWild (65535) +# define FamilyNetname (254) /* not part of X standard */ +# define FamilyKrb5Principal (253) /* Kerberos 5 principal name */ +# define FamilyLocalHost (252) /* for local non-net authentication */ + + +_XFUNCPROTOBEGIN + +char *XauFileName(void); + +Xauth *XauReadAuth( +FILE* /* auth_file */ +); + +int XauLockAuth( +_Xconst char* /* file_name */, +int /* retries */, +int /* timeout */, +long /* dead */ +); + +int XauUnlockAuth( +_Xconst char* /* file_name */ +); + +int XauWriteAuth( +FILE* /* auth_file */, +Xauth* /* auth */ +); + +Xauth *XauGetAuthByAddr( +#if NeedWidePrototypes +unsigned int /* family */, +unsigned int /* address_length */, +#else +unsigned short /* family */, +unsigned short /* address_length */, +#endif +_Xconst char* /* address */, +#if NeedWidePrototypes +unsigned int /* number_length */, +#else +unsigned short /* number_length */, +#endif +_Xconst char* /* number */, +#if NeedWidePrototypes +unsigned int /* name_length */, +#else +unsigned short /* name_length */, +#endif +_Xconst char* /* name */ +); + +Xauth *XauGetBestAuthByAddr( +#if NeedWidePrototypes +unsigned int /* family */, +unsigned int /* address_length */, +#else +unsigned short /* family */, +unsigned short /* address_length */, +#endif +_Xconst char* /* address */, +#if NeedWidePrototypes +unsigned int /* number_length */, +#else +unsigned short /* number_length */, +#endif +_Xconst char* /* number */, +int /* types_length */, +char** /* type_names */, +_Xconst int* /* type_lengths */ +); + +void XauDisposeAuth( +Xauth* /* auth */ +); + +_XFUNCPROTOEND + +/* Return values from XauLockAuth */ + +# define LOCK_SUCCESS 0 /* lock succeeded */ +# define LOCK_ERROR 1 /* lock unexpectely failed, check errno */ +# define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */ + +#endif /* _XAUTH_STRUCT_ONLY */ + +#endif /* _Xauth_h */ diff --git a/X11/Xaw/AllWidgets.h b/X11/Xaw/AllWidgets.h new file mode 100644 index 000000000..0200ac4cc --- /dev/null +++ b/X11/Xaw/AllWidgets.h @@ -0,0 +1,38 @@ +/* + * $Xorg: AllWidgets.h,v 1.5 2001/02/09 02:03:42 xorgcvs Exp $ + * +Copyright 1990, 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 _XawAllWidgets_h +#define _XawAllWidgets_h + +#include <X11/Xmu/WidgetNode.h> + +/* + * This file matches the generated AllWidgets.c + */ +extern XmuWidgetNode XawWidgetArray[]; +extern int XawWidgetCount; + +#endif /* _XawAllWidgets_h */ diff --git a/X11/Xaw/AsciiSink.h b/X11/Xaw/AsciiSink.h new file mode 100644 index 000000000..234927493 --- /dev/null +++ b/X11/Xaw/AsciiSink.h @@ -0,0 +1,82 @@ +/* + * $Xorg: AsciiSink.h,v 1.4 2001/02/09 02:03:42 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/Xaw/AsciiSink.h,v 1.5 2001/01/17 19:42:25 dawes Exp $ */ + +#ifndef _XawAsciiSink_h +#define _XawAsciiSink_h + +/* + * AsciiSink Object + */ + +#include <X11/Xaw/TextSink.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + echo Output Boolean True + displayNonprinting Output Boolean True + +*/ + +#define XtCOutput "Output" + +#define XtNdisplayNonprinting "displayNonprinting" +#define XtNecho "echo" + +/* Class record constants */ +extern WidgetClass asciiSinkObjectClass; + +typedef struct _AsciiSinkClassRec *AsciiSinkObjectClass; +typedef struct _AsciiSinkRec *AsciiSinkObject; + +#endif /* _XawAsciiSink_h */ diff --git a/X11/Xaw/AsciiSinkP.h b/X11/Xaw/AsciiSinkP.h new file mode 100644 index 000000000..b160092f3 --- /dev/null +++ b/X11/Xaw/AsciiSinkP.h @@ -0,0 +1,101 @@ +/* +* $Xorg: AsciiSinkP.h,v 1.4 2001/02/09 02:03:42 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/Xaw/AsciiSinkP.h,v 1.9 2001/01/17 19:42:25 dawes Exp $ */ + +#ifndef _XawAsciiSinkP_h +#define _XawAsciiSinkP_h + +/* + * AsciiSink Object Private Data + */ +#include <X11/Xaw/TextSinkP.h> +#include <X11/Xaw/AsciiSink.h> + +/* New fields for the AsciiSink object class record */ +typedef struct _AsciiSinkClassPart { + XtPointer extension; +} AsciiSinkClassPart; + +/* Full class record declaration */ +typedef struct _AsciiSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; + AsciiSinkClassPart ascii_sink_class; +} AsciiSinkClassRec; + +extern AsciiSinkClassRec asciiSinkClassRec; + +/* New fields for the AsciiSink object record */ +typedef struct { + /* resources */ + XFontStruct *font; /* Font to draw in. */ + Boolean echo; + Boolean display_nonprinting; + + /* private */ + GC normgc, invgc, xorgc; + XawTextPosition cursor_position; + XawTextInsertState laststate; + short cursor_x, cursor_y; /* Cursor Location. */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiSinkPart; + +/* Full instance record declaration */ +typedef struct _AsciiSinkRec { + ObjectPart object; + TextSinkPart text_sink; + AsciiSinkPart ascii_sink; +} AsciiSinkRec; + +#endif /* _XawAsciiSinkP_h */ diff --git a/X11/Xaw/AsciiSrc.h b/X11/Xaw/AsciiSrc.h new file mode 100644 index 000000000..8728dd9ea --- /dev/null +++ b/X11/Xaw/AsciiSrc.h @@ -0,0 +1,175 @@ +/* $Xorg: AsciiSrc.h,v 1.4 2001/02/09 02:03:42 xorgcvs Exp $ */ + +/* + +Copyright 1989, 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/Xaw/AsciiSrc.h,v 1.7 2001/01/17 19:42:25 dawes Exp $ */ + + +/* + * AsciiSrc.h - Public Header file for Ascii Text Source. + * + * This is the public header file for the Ascii Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the AsciiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + + +#ifndef _XawAsciiSrc_h +#define _XawAsciiSrc_h + +#include <X11/Xaw/TextSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + dataCompression DataCompression Boolean True + length Length int (internal) + pieceSize PieceSize int BUFSIZ + string String String NULL + type Type XawAsciiType XawAsciiString + useStringInPlace UseStringInPlace Boolean False + +*/ + +extern WidgetClass asciiSrcObjectClass; + +typedef struct _AsciiSrcClassRec *AsciiSrcObjectClass; +typedef struct _AsciiSrcRec *AsciiSrcObject; + +#define AsciiSourceObjectClass AsciiSrcObjectClass +#define AsciiSourceObject AsciiSrcObject + +/* + * Resource Definitions + */ +#define XtCDataCompression "DataCompression" +#define XtCPieceSize "PieceSize" +#define XtCType "Type" +#define XtCUseStringInPlace "UseStringInPlace" + +#define XtNdataCompression "dataCompression" +#define XtNpieceSize "pieceSize" +#define XtNtype "type" +#define XtNuseStringInPlace "useStringInPlace" + +#define XtRAsciiType "AsciiType" + +#define XtEstring "string" +#define XtEfile "file" + +typedef enum { + XawAsciiFile, + XawAsciiString +} XawAsciiType; + +/* + * Public routines + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawAsciiSourceFreeString + * + * Parameters: + * w - AsciiSrc object + * + * Description: + * Frees the string returned by a get values call + * on the string when the source is of type string. + */ +void XawAsciiSourceFreeString +( + Widget w + ); + +/* + * Function: + * XawAsciiSave + * + * Arguments: + * w - asciiSrc Object. + * + * Description: + * Saves all the pieces into a file or string as required. + * + * Returns: + * True if the save was successful + */ +Bool XawAsciiSave +( + Widget w + ); + +/* + * Function: + * XawAsciiSaveAsFile + * + * Parameters: + * w - asciiSrc object + * name - name of the file to save this file into + * + * Description: + * Save the current buffer as a file. + * + * Returns: + * True if the save was successful + */ +Bool XawAsciiSaveAsFile +( + Widget w, + _Xconst char *name + ); + +/* + * Function: + * XawAsciiSourceChanged + * + * Parameters: + * w - asciiSource object + * + * Description: + * Returns true if the source has changed since last saved. + * + * Returns: + * a Boolean (see description) + */ +Bool XawAsciiSourceChanged +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawAsciiSrc_h */ diff --git a/X11/Xaw/AsciiSrcP.h b/X11/Xaw/AsciiSrcP.h new file mode 100644 index 000000000..22d30082a --- /dev/null +++ b/X11/Xaw/AsciiSrcP.h @@ -0,0 +1,145 @@ +/* +* $Xorg: AsciiSrcP.h,v 1.4 2001/02/09 02:03:42 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/Xaw/AsciiSrcP.h,v 1.8 2001/01/17 19:42:25 dawes Exp $ */ + +/* + * AsciiSrcP.h - Private Header for Ascii Text Source. + * + * This is the private header file for the Ascii Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the AsciiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawAsciiSrcP_h +#define _XawAsciiSrcP_h + +#include <X11/Xaw/TextSrcP.h> +#include <X11/Xaw/AsciiSrc.h> + +#ifdef L_tmpnam +#define TMPSIZ L_tmpnam +#else +#ifdef PATH_MAX +#define TMPSIZ PATH_MAX +#else +#define TMPSIZ 1024 /* bytes to allocate for tmpnam */ +#endif +#endif + +typedef struct _Piece { /* Piece of the text file of BUFSIZ allocated + characters */ + char *text; /* The text in this buffer */ + XawTextPosition used; /* The number of characters of this buffer + that have been used */ + struct _Piece *prev, *next; /* linked list pointers */ +} Piece; + +typedef struct _AsciiSrcClassPart { + XtPointer extension; +} AsciiSrcClassPart; + +/* Full class record */ +typedef struct _AsciiSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart text_src_class; + AsciiSrcClassPart ascii_src_class; +} AsciiSrcClassRec; + +extern AsciiSrcClassRec asciiSrcClassRec; + +/* New fields for the AsciiSrc object */ +typedef struct _AsciiSrcPart { + /* resources */ + char *string; /* either the string, or the + file name, depending upon the type */ + XawAsciiType type; /* either string or disk */ + XawTextPosition piece_size; /* Size of text buffer for each piece */ + Boolean data_compression; /* compress to minimum memory automatically + on save? */ +#ifdef OLDXAW + XtCallbackList callback; +#endif + Boolean use_string_in_place;/* Use the string passed in place */ + int ascii_length; /* length field for ascii string emulation */ + +#ifdef ASCII_DISK + String filename; /* name of file for Compatability */ +#endif /* ASCII_DISK */ + + /* private */ + Boolean is_tempfile; /* Is this a temporary file? */ +#ifdef OLDXAW + Boolean changes; +#endif + Boolean allocated_string; /* Have I allocated the + string in ascii_src->string? */ + XawTextPosition length; /* length of file */ + Piece *first_piece; /* first piece of the text */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiSrcPart; + +/* instance record */ +typedef struct _AsciiSrcRec { + ObjectPart object; + TextSrcPart text_src; + AsciiSrcPart ascii_src; +} AsciiSrcRec; + +#endif /* _XawAsciiSrcP_h */ diff --git a/X11/Xaw/AsciiText.h b/X11/Xaw/AsciiText.h new file mode 100644 index 000000000..e6b4bc863 --- /dev/null +++ b/X11/Xaw/AsciiText.h @@ -0,0 +1,128 @@ +/* + * $Xorg: AsciiText.h,v 1.4 2001/02/09 02:03:42 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/Xaw/AsciiText.h,v 1.5 2001/01/17 19:42:25 dawes Exp $ */ + +/* + * AsciiText.h - Public header file for AsciiText Widget + * + * This Widget is intended to be used as a simple front end to the + * text widget with an ascii source and ascii sink attached to it + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ +#ifndef _AsciiText_h +#define _AsciiText_h + +#include <X11/Xaw/Text.h> +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/MultiSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + autoFill AutoFill Boolean False + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + bottomMargin Margin Position 2 + cursor Cursor Cursor xterm + destroyCallback Callback Pointer NULL + displayCaret Output Boolean True + displayPosition TextPosition int 0 + editType EditType XawTextEditType XawtextRead + font Font XFontStruct* Fixed + foreground Foreground Pixel Black + height Height Dimension font height + insertPosition TextPosition int 0 + international International Boolean false + leftMargin Margin Position 2 + mappedWhenManaged MappedWhenManaged Boolean True + resize Resize XawTextResizeMode XawtextResizeNever + rightMargin Margin Position 4 + scrollHorizontal Scroll XawTextScrollMode XawtextScrollNever + scrollVertical Scroll XawTextScrollMode XawtextScrollNever + selectTypes SelectTypes Pointer pos/word/line/par/all + selection Selection Pointer (empty selection) + sensitive Sensitive Boolean True + sink TextSink Widget (none) + source TextSource Widget (none) + string String String NULL + topMargin Margin Position 2 + width Width Dimension 100 + wrap Wrap XawTextWrapMode XawtextWrapNever + x Position Position 0 + y Position Position 0 + + (see also *Src.h and *Sink.h) +*/ + +typedef struct _AsciiTextClassRec *AsciiTextWidgetClass; +typedef struct _AsciiRec *AsciiWidget; + +extern WidgetClass asciiTextWidgetClass; + +/* + * Disk and String Emulation Info + */ +#ifdef ASCII_STRING +extern WidgetClass asciiStringWidgetClass; +#endif + +#ifdef ASCII_DISK +extern WidgetClass asciiDiskWidgetClass; +#endif + +#endif /* _AsciiText_h */ diff --git a/X11/Xaw/AsciiTextP.h b/X11/Xaw/AsciiTextP.h new file mode 100644 index 000000000..25e3eeeab --- /dev/null +++ b/X11/Xaw/AsciiTextP.h @@ -0,0 +1,169 @@ +/* + * $Xorg: AsciiTextP.h,v 1.4 2001/02/09 02:03:42 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/Xaw/AsciiTextP.h,v 1.8 2001/01/17 19:42:25 dawes Exp $ */ + +/* + * AsciiText.c - Private header file for AsciiText Widget. + * + * This Widget is intended to be used as a simple front end to the + * text widget with an ascii source and ascii sink attached to it. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _AsciiTextP_h +#define _AsciiTextP_h + +#include <X11/Xaw/TextP.h> +#include <X11/Xaw/AsciiText.h> +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/MultiSrc.h> + +typedef struct { + XtPointer extension; +} AsciiClassPart; + +typedef struct _AsciiTextClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; +} AsciiTextClassRec; + +extern AsciiTextClassRec asciiTextClassRec; + +typedef struct { + int resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiPart; + +typedef struct _AsciiRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; +} AsciiRec; + +/* + * Ascii String Emulation widget + */ +#ifdef ASCII_STRING +typedef struct { + XtPointer extension; +} AsciiStringClassPart; + +typedef struct _AsciiStringClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; + AsciiStringClassPart string_class; +} AsciiStringClassRec; + +extern AsciiStringClassRec asciiStringClassRec; + +typedef struct { + int resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiStringPart; + +typedef struct _AsciiStringRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; + AsciiStringPart ascii_str; +} AsciiStringRec; +#endif /* ASCII_STRING */ + +#ifdef ASCII_DISK +/* + * Ascii Disk Emulation widget + */ +typedef struct { + XtPointer extension; +} AsciiDiskClassPart; + +typedef struct _AsciiDiskClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; + AsciiDiskClassPart disk_class; +} AsciiDiskClassRec; + +extern AsciiDiskClassRec asciiDiskClassRec; + +typedef struct { + char resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiDiskPart; + +typedef struct _AsciiDiskRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; + AsciiDiskPart ascii_disk; +} AsciiDiskRec; +#endif /* ASCII_DISK */ + +#endif /* _AsciiTextP_h */ diff --git a/X11/Xaw/Box.h b/X11/Xaw/Box.h new file mode 100644 index 000000000..17db281d6 --- /dev/null +++ b/X11/Xaw/Box.h @@ -0,0 +1,108 @@ +/* +* $Xorg: Box.h,v 1.4 2001/02/09 02:03:43 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/Xaw/Box.h,v 1.7 2001/01/17 19:42:25 dawes Exp $ */ + +#ifndef _XawBox_h +#define _XawBox_h + +#include <X11/Xmu/Converters.h> + +/* + * Box Widget (subclass of CompositeClass) + */ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + hSpace HSpace Dimension 4 + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + orientation Orientation XtOrientation vertical + vSpace VSpace Dimension 4 + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef _XtStringDefs_h_ +#define XtNhSpace "hSpace" +#define XtNvSpace "vSpace" +#endif + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif /* OLDXAW */ + +/* Class record constants */ +extern WidgetClass boxWidgetClass; + +typedef struct _BoxClassRec *BoxWidgetClass; +typedef struct _BoxRec *BoxWidget; + +#endif /* _XawBox_h */ diff --git a/X11/Xaw/BoxP.h b/X11/Xaw/BoxP.h new file mode 100644 index 000000000..a64142e7d --- /dev/null +++ b/X11/Xaw/BoxP.h @@ -0,0 +1,103 @@ +/* +* $Xorg: BoxP.h,v 1.4 2001/02/09 02:03:43 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/Xaw/BoxP.h,v 1.10 2001/01/17 19:42:25 dawes Exp $ */ + +#ifndef _XawBoxP_h +#define _XawBoxP_h + +/* + * Box Widget Private Data + */ +#include <X11/Xaw/Box.h> +#include <X11/Xmu/Converters.h> +#include <X11/Xaw/XawInit.h> + +/* New fields for the Box widget class record */ +typedef struct { + XtPointer extension; +} BoxClassPart; + +/* Full class record declaration */ +typedef struct _BoxClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + BoxClassPart box_class; +} BoxClassRec; + +extern BoxClassRec boxClassRec; + +/* New fields for the Box widget record */ +typedef struct { + /* resources */ + Dimension h_space, v_space; + XtOrientation orientation; + + /* private state */ + Dimension preferred_width, preferred_height; + Dimension last_query_width, last_query_height; + XtGeometryMask last_query_mode; +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} BoxPart; + +/* + * Full instance record declaration + */ +typedef struct _BoxRec { + CorePart core; + CompositePart composite; + BoxPart box; +} BoxRec; + +#endif /* _XawBoxP_h */ diff --git a/X11/Xaw/Cardinals.h b/X11/Xaw/Cardinals.h new file mode 100644 index 000000000..a8b3dfc41 --- /dev/null +++ b/X11/Xaw/Cardinals.h @@ -0,0 +1,43 @@ +/* $Xorg: Cardinals.h,v 1.4 2001/02/09 02:03:43 xorgcvs Exp $ */ +/* + +Copyright 1985, 1986, 1987, 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 _Cardinals_h +#define _Cardinals_h + +#define ZERO ((Cardinal)0) +#define ONE ((Cardinal)1) +#define TWO ((Cardinal)2) +#define THREE ((Cardinal)3) +#define FOUR ((Cardinal)4) +#define FIVE ((Cardinal)5) +#define SIX ((Cardinal)6) +#define SEVEN ((Cardinal)7) +#define EIGHT ((Cardinal)8) +#define NINE ((Cardinal)9) +#define TEN ((Cardinal)10) + +#endif /* _Cardinals_h */ diff --git a/X11/Xaw/Command.h b/X11/Xaw/Command.h new file mode 100644 index 000000000..49eb99122 --- /dev/null +++ b/X11/Xaw/Command.h @@ -0,0 +1,119 @@ +/* $Xorg: Command.h,v 1.4 2001/02/09 02:03:43 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/Xaw/Command.h,v 1.5 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _XawCommand_h +#define _XawCommand_h + +#include <X11/Xaw/Label.h> + +/* Command widget resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + bitmap Pixmap Pixmap None + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + callback Callback XtCallbackList NULL + colormap Colormap Colormap parent's colormap + cornerRoundPercent CornerRoundPercent Dimension 25 + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + displayList DisplayList XawDisplayList* NULL + encoding Encoding UnsignedChar XawTextEncoding8bit + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 0 if shaped, else 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + leftBitmap LeftBitmap Pixmap None + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + resize Resize Boolean True + screen Screen Screen parent's Screen + sensitive Sensitive Boolean True + shapeStyle ShapeStyle ShapeStyle Rectangle + translations Translations TranslationTable see doc or source + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNhighlightThickness "highlightThickness" + +#define XtNshapeStyle "shapeStyle" +#define XtCShapeStyle "ShapeStyle" +#define XtRShapeStyle "ShapeStyle" +#define XtNcornerRoundPercent "cornerRoundPercent" +#define XtCCornerRoundPercent "CornerRoundPercent" + +#define XawShapeRectangle XmuShapeRectangle +#define XawShapeOval XmuShapeOval +#define XawShapeEllipse XmuShapeEllipse +#define XawShapeRoundedRectangle XmuShapeRoundedRectangle + +extern WidgetClass commandWidgetClass; + +typedef struct _CommandClassRec *CommandWidgetClass; +typedef struct _CommandRec *CommandWidget; + +#endif /* _XawCommand_h */ diff --git a/X11/Xaw/CommandP.h b/X11/Xaw/CommandP.h new file mode 100644 index 000000000..bc639f825 --- /dev/null +++ b/X11/Xaw/CommandP.h @@ -0,0 +1,117 @@ +/* +* $Xorg: CommandP.h,v 1.4 2001/02/09 02:03:43 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/Xaw/CommandP.h,v 1.7 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _XawCommandP_h +#define _XawCommandP_h + +/* + * Command Widget Private Data + */ +#include <X11/Xaw/Command.h> +#include <X11/Xaw/LabelP.h> + +typedef enum { + HighlightNone, /* Do not highlight */ + HighlightWhenUnset, /* Highlight only when unset, this is + to preserve current command widget + functionality */ + HighlightAlways /* Always highlight, lets the toggle widget + and other subclasses do the right thing */ +} XtCommandHighlight; + +/* New fields for the Command widget class record */ +typedef struct _CommandClass { + XtPointer extension; +} CommandClassPart; + +/* Full class record declaration */ +typedef struct _CommandClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; +} CommandClassRec; + +extern CommandClassRec commandClassRec; + +/* New fields for the Command widget record */ +typedef struct { + /* resources */ + Dimension highlight_thickness; + XtCallbackList callbacks; + + /* private state */ + Pixmap gray_pixmap; + GC normal_GC; + GC inverse_GC; + Boolean set; + XtCommandHighlight highlighted; + + /* more resources */ + int shape_style; + Dimension corner_round; + +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} CommandPart; + +/* Full widget declaration */ +typedef struct _CommandRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; +} CommandRec; + +#endif /* _XawCommandP_h */ diff --git a/X11/Xaw/Dialog.h b/X11/Xaw/Dialog.h new file mode 100644 index 000000000..96fd36d38 --- /dev/null +++ b/X11/Xaw/Dialog.h @@ -0,0 +1,101 @@ +/* $Xorg: Dialog.h,v 1.4 2001/02/09 02:03:43 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/Xaw/Dialog.h,v 1.5 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _XawDialog_h +#define _XawDialog_h + +#include <X11/Xaw/Form.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + borderColor BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + height Height Dimension computed at create + icon Icon Pixmap 0 + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + value Value String NULL + width Width Dimension computed at create + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCIcon "Icon" +#define XtNicon "icon" + +typedef struct _DialogClassRec *DialogWidgetClass; +typedef struct _DialogRec *DialogWidget; + +extern WidgetClass dialogWidgetClass; + +_XFUNCPROTOBEGIN + +void XawDialogAddButton +( + Widget dialog, + _Xconst char *name, + XtCallbackProc function, + XtPointer client_data + ); + +char *XawDialogGetValueString +( + Widget w +); + +_XFUNCPROTOEND + +#endif /* _XawDialog_h */ diff --git a/X11/Xaw/DialogP.h b/X11/Xaw/DialogP.h new file mode 100644 index 000000000..fcc2240d7 --- /dev/null +++ b/X11/Xaw/DialogP.h @@ -0,0 +1,104 @@ +/* $Xorg: DialogP.h,v 1.4 2001/02/09 02:03:43 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/Xaw/DialogP.h,v 1.8 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _DialogP_h +#define _DialogP_h + +#include <X11/Xaw/Dialog.h> +#include <X11/Xaw/FormP.h> + +typedef struct { + XtPointer extension; +} DialogClassPart; + +typedef struct _DialogClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; + DialogClassPart dialog_class; +} DialogClassRec; + +extern DialogClassRec dialogClassRec; + +typedef struct _DialogPart { + /* resources */ + String label; /* description of the dialog */ + String value; /* for the user response */ + Pixmap icon; /* icon bitmap */ + + /* private */ + Widget iconW; /* widget to display the icon */ + Widget labelW; /* widget to display description */ + Widget valueW; /* user response TextWidget */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} DialogPart; + +typedef struct _DialogRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; + DialogPart dialog; +} DialogRec; + +typedef struct { + XtPointer extension; +} DialogConstraintsPart; + +typedef struct _DialogConstraintsRec { + FormConstraintsPart form; + DialogConstraintsPart dialog; +} DialogConstraintsRec, *DialogConstraints; + +#endif /* _DialogP_h */ diff --git a/X11/Xaw/Form.h b/X11/Xaw/Form.h new file mode 100644 index 000000000..9eb1ad7d6 --- /dev/null +++ b/X11/Xaw/Form.h @@ -0,0 +1,171 @@ +/* $Xorg: Form.h,v 1.5 2001/02/09 02:03:43 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/Xaw/Form.h,v 1.8 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _XawForm_h +#define _XawForm_h + +#include <X11/Intrinsic.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + defaultDistance Thickness int 4 + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension computed at realize + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + width Width Dimension computed at realize + x Position Position 0 + y Position Position 0 + +*/ + +/* Constraint parameters: + + Name Class RepType Default Value + ---- ----- ------- ------------- + bottom Edge XtEdgeType XtRubber + fromHoriz Widget Widget (left edge of form) + fromVert Widget Widget (top of form) + horizDistance Thickness int defaultDistance + left Edge XtEdgeType XtRubber + resizable Boolean Boolean False + right Edge XtEdgeType XtRubber + top Edge XtEdgeType XtRubber + vertDistance Thickness int defaultDistance + +*/ + + +#ifndef _XtStringDefs_h_ +#define XtNtop "top" +#define XtRWidget "Widget" +#endif + +#define XtNdefaultDistance "defaultDistance" +#define XtNbottom "bottom" +#define XtNleft "left" +#define XtNright "right" +#define XtNfromHoriz "fromHoriz" +#define XtNfromVert "fromVert" +#define XtNhorizDistance "horizDistance" +#define XtNvertDistance "vertDistance" +#define XtNresizable "resizable" + +#define XtCEdge "Edge" +#define XtCWidget "Widget" + +typedef enum { + XawChainTop, /* Keep this edge a constant distance from + the top of the form */ + XawChainBottom, /* Keep this edge a constant distance from + the bottom of the form */ + XawChainLeft, /* Keep this edge a constant distance from + the left of the form */ + XawChainRight, /* Keep this edge a constant distance from + the right of the form */ + XawRubber /* Keep this edge a proportional distance + from the edges of the form */ +} XawEdgeType; + +#define XtEdgeType XawEdgeType + +#define XtChainTop XawChainTop +#define XtChainBottom XawChainBottom +#define XtChainLeft XawChainLeft +#define XtChainRight XawChainRight +#define XtRubber XawRubber + +#define XtEchainLeft "chainLeft" +#define XtEchainRight "chainRight" +#define XtEchainTop "chainTop" +#define XtEchainBottom "chainBottom" +#define XtErubber "rubber" + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif + +typedef struct _FormClassRec *FormWidgetClass; +typedef struct _FormRec *FormWidget; + +extern WidgetClass formWidgetClass; + +_XFUNCPROTOBEGIN + +void XawFormDoLayout +( + Widget w, +#if NeedWidePrototypes + Bool do_layout +#else + Boolean do_layout +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawForm_h */ diff --git a/X11/Xaw/FormP.h b/X11/Xaw/FormP.h new file mode 100644 index 000000000..7203dda0c --- /dev/null +++ b/X11/Xaw/FormP.h @@ -0,0 +1,142 @@ +/* $Xorg: FormP.h,v 1.4 2001/02/09 02:03:43 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/Xaw/FormP.h,v 1.13 2001/12/14 19:54:40 dawes Exp $ */ + +/* Form widget private definitions */ + +#ifndef _XawFormP_h +#define _XawFormP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Form.h> +#include <X11/Xaw/XawInit.h> + +_XFUNCPROTOBEGIN + +#define XtREdgeType "EdgeType" + +typedef enum { + LayoutPending, + LayoutInProgress, + LayoutDone +} LayoutState; + +#define XtInheritLayout \ +((Boolean (*)(FormWidget, unsigned int, unsigned int, Bool))_XtInherit) + +typedef struct { + Boolean(*layout)(FormWidget, unsigned int, unsigned int, Bool); +#ifndef OLDXAW + XtPointer extension; +#endif +} FormClassPart; + +typedef struct _FormClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; +} FormClassRec; + +extern FormClassRec formClassRec; + +typedef struct _FormPart { + /* resources */ + int default_spacing; /* default distance between children */ + + /* private */ + Dimension old_width, old_height; /* reference value for *_virtual */ + int no_refigure; /* no re-layout while > 0 */ + Boolean needs_relayout; /* next time no_refigure == 0 */ + Boolean resize_in_layout; /* should layout() do geom request? */ + Dimension preferred_width, preferred_height; /* cached from layout */ + Boolean resize_is_no_op; /* Causes resize to take not action */ +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} FormPart; + +typedef struct _FormRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; +} FormRec; + +typedef struct _FormConstraintsPart { + /* resources */ + XtEdgeType top, bottom, left, right;/* where to drag edge on resize */ + int dx; /* desired horiz offset */ + int dy; /* desired vertical offset */ + Widget horiz_base; /* measure dx from here if non-null */ + Widget vert_base; /* measure dy from here if non-null */ + Boolean allow_resize; /* True if child may request resize */ + + /* private */ + short virtual_width, virtual_height; + Position new_x, new_y; + LayoutState layout_state; /* temporary layout state */ + Boolean deferred_resize;/* was resized while no_refigure is set */ +#ifndef OLDXAW + short virtual_x, virtual_y; + XtPointer pad[2]; /* leave some space for further optimizations + * in the form widget geometry + */ +#endif +} FormConstraintsPart; + +typedef struct _FormConstraintsRec { + FormConstraintsPart form; +} FormConstraintsRec, *FormConstraints; + +_XFUNCPROTOEND + +#endif /* _XawFormP_h */ diff --git a/X11/Xaw/Grip.h b/X11/Xaw/Grip.h new file mode 100644 index 000000000..1c19f6043 --- /dev/null +++ b/X11/Xaw/Grip.h @@ -0,0 +1,99 @@ +/* $Xorg: Grip.h,v 1.4 2001/02/09 02:03:43 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/Xaw/Grip.h,v 1.6 2001/01/17 19:42:26 dawes Exp $ */ + +/* + * Grip.h - Public Definitions for Grip widget (used by VPane Widget) + * + */ + +#ifndef _XawGrip_h +#define _XawGrip_h + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + foreground Foreground Pixel XtDefaultForeground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 0 + callback Callback Pointer GripAction + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback Pointer NULL + height Height Dimension 8 + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + sensitive Sensitive Boolean True + width Width Dimension 8 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNgripTranslations "gripTranslations" + +typedef struct _XawGripCallData { + XEvent *event; /* the event causing the GripAction */ + String *params; /* the TranslationTable params */ + Cardinal num_params; /* count of params */ +} XawGripCallDataRec, *XawGripCallData, + GripCallDataRec, *GripCallData; /* supported for R4 compatibility */ + +/* Class Record Constant */ + +extern WidgetClass gripWidgetClass; + +typedef struct _GripClassRec *GripWidgetClass; +typedef struct _GripRec *GripWidget; + +#endif /* _XawGrip_h */ diff --git a/X11/Xaw/GripP.h b/X11/Xaw/GripP.h new file mode 100644 index 000000000..f40a8d1e7 --- /dev/null +++ b/X11/Xaw/GripP.h @@ -0,0 +1,91 @@ +/* +* $Xorg: GripP.h,v 1.4 2001/02/09 02:03:43 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/Xaw/GripP.h,v 1.7 2001/01/17 19:42:26 dawes Exp $ */ + +#ifndef _XawGripP_h +#define _XawGripP_h + +#include <X11/Xaw/Grip.h> +#include <X11/Xaw/SimpleP.h> + +#define DEFAULT_GRIP_SIZE 8 + +/* New fields for the Grip widget class */ +typedef struct { + XtPointer extension; +} GripClassPart; + +/* Full Class record */ +typedef struct _GripClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + GripClassPart grip_class; +} GripClassRec; + +extern GripClassRec gripClassRec; + +/* New fields for the Grip widget */ +typedef struct { + XtCallbackList grip_action; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} GripPart; + +/* Full instance record */ +typedef struct _GripRec { + CorePart core; + SimplePart simple; + GripPart grip; +} GripRec; + +#endif /* _XawGripP_h */ diff --git a/X11/Xaw/Label.h b/X11/Xaw/Label.h new file mode 100644 index 000000000..fc3942b01 --- /dev/null +++ b/X11/Xaw/Label.h @@ -0,0 +1,135 @@ +/* $Xorg: Label.h,v 1.4 2001/02/09 02:03:44 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/Xaw/Label.h,v 1.6 2001/01/17 19:42:27 dawes Exp $ */ + +#ifndef _XawLabel_h +#define _XawLabel_h + +/* + * Label Widget + */ + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback XtCallbackList NULL + encoding Encoding UnsignedChar XawTextEncoding8bit + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + leftBitmap LeftBitmap Pixmap None + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XawTextEncoding8bit 0 +#define XawTextEncodingChar2b 1 + +#define XtNleftBitmap "leftBitmap" +#define XtCLeftBitmap "LeftBitmap" +#define XtNencoding "encoding" +#define XtCEncoding "Encoding" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +#ifndef _XtStringDefs_h_ +#define XtNbitmap "bitmap" +#define XtNforeground "foreground" +#define XtNlabel "label" +#define XtNfont "font" +#define XtNinternalWidth "internalWidth" +#define XtNinternalHeight "internalHeight" +#define XtNresize "resize" +#define XtCResize "Resize" +#define XtCBitmap "Bitmap" +#endif + +#ifndef XtNlabelX +#define XtNlabelX "labelX" +#endif + +#ifndef XtNlabelY +#define XtNlabelY "labelY" +#endif + +/* Class record constants */ + +extern WidgetClass labelWidgetClass; + +typedef struct _LabelClassRec *LabelWidgetClass; +typedef struct _LabelRec *LabelWidget; + +#endif /* _XawLabel_h */ diff --git a/X11/Xaw/LabelP.h b/X11/Xaw/LabelP.h new file mode 100644 index 000000000..9f49fdd4f --- /dev/null +++ b/X11/Xaw/LabelP.h @@ -0,0 +1,121 @@ +/* +* $Xorg: LabelP.h,v 1.4 2001/02/09 02:03:44 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/Xaw/LabelP.h,v 1.7 2001/01/17 19:42:27 dawes Exp $ */ + +#ifndef _XawLabelP_h +#define _XawLabelP_h + +/* + * Label Widget Private Data + */ +#include <X11/Xaw/Label.h> +#include <X11/Xaw/SimpleP.h> + +/* New fields for the Label widget class record */ +typedef struct { + XtPointer extension; +} LabelClassPart; + +/* Full class record declaration */ +typedef struct _LabelClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; +} LabelClassRec; + +extern LabelClassRec labelClassRec; + +/* New fields for the Label widget record */ +typedef struct { + /* resources */ + Pixel foreground; + XFontStruct *font; + XFontSet fontset; + char *label; + XtJustify justify; + Dimension internal_width; + Dimension internal_height; + Pixmap pixmap; + Boolean resize; + unsigned char encoding; + Pixmap left_bitmap; + + /* private state */ + GC normal_GC; + GC gray_GC; + Pixmap stipple; + Position label_x; + Position label_y; + Dimension label_width; + Dimension label_height; + Dimension label_len; + int lbm_y; /* where in label */ + unsigned int lbm_width, lbm_height; /* size of pixmap */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} LabelPart; + +/* + * Full instance record declaration + */ +typedef struct _LabelRec { + CorePart core; + SimplePart simple; + LabelPart label; +} LabelRec; + +#define LEFT_OFFSET(lw) ((lw)->label.left_bitmap \ + ? (lw)->label.lbm_width + (lw)->label.internal_width \ + : 0) + +#endif /* _XawLabelP_h */ diff --git a/X11/Xaw/List.h b/X11/Xaw/List.h new file mode 100644 index 000000000..2115eefd4 --- /dev/null +++ b/X11/Xaw/List.h @@ -0,0 +1,237 @@ +/* $Xorg: List.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ */ + +/* +Copyright 1989, 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/Xaw/List.h,v 1.7 2001/01/17 19:42:27 dawes Exp $ */ + +/* This is the List widget, it is useful to display a list, without the + * overhead of having a widget for each item in the list. It allows + * the user to select an item in a list and notifies the application through + * a callback function. + * + * Created: 8/13/88 + * By: Chris D. Peterson + * MIT X Consortium + */ + +#ifndef _XawList_h +#define _XawList_h + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + borderColor BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback XtCallbackList NULL **6 + columnSpacing Spacing Dimension 6 + cursor Cursor Cursor left_ptr + cursorName Cursor String NULL + defaultColumns Columns int 2 **5 + destroyCallback Callback Pointer NULL + font Font XFontStruct* XtDefaultFont + forceColumns Columns Boolean False **5 + foreground Foreground Pixel XtDefaultForeground + height Height Dimension 0 **1 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + list List String* NULL **2 + longest Longest int 0 **3 **4 + mappedWhenManaged MappedWhenManaged Boolean True + numberStrings NumberStrings int 0 **4 + pasteBuffer Boolean Boolean False + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + rowSpacing Spacing Dimension 4 + sensitive Sensitive Boolean True + verticalList Boolean Boolean False + width Width Dimension 0 **1 + x Position Position 0 + y Position Position 0 + + **1 - If the Width or Height of the list widget is zero (0) then the value + is set to the minimum size necessay to fit the entire list. + + If both Width and Height are zero then they are adjusted to fit the + entire list that is created width the number of default columns + specified in the defaultColumns resource. + + **2 - This is an array of strings the specify elements of the list. + This resource must be specified. + (What good is a list widget without a list?? :-) + + **3 - Longest is the length of the widest string in pixels. + + **4 - If either of these values are zero (0) then the list widget calculates + the correct value. + + (This allows you to make startup faster if you already have + this information calculated) + + NOTE: If the numberStrings value is zero the list must + be NULL terminated. + + **5 - By setting the List.Columns resource you can force the application to + have a given number of columns. + + **6 - This returns the name and index of the item selected in an + XawListReturnStruct that is pointed to by the client_data + in the CallbackProc. + +*/ + +/* + * Value returned when there are no highlighted objects + */ +#define XAW_LIST_NONE -1 + +#define XtCList "List" +#define XtCSpacing "Spacing" +#define XtCColumns "Columns" +#define XtCLongest "Longest" +#define XtCNumberStrings "NumberStrings" + +#define XtNcursor "cursor" +#define XtNcolumnSpacing "columnSpacing" +#define XtNdefaultColumns "defaultColumns" +#define XtNforceColumns "forceColumns" +#define XtNlist "list" +#define XtNlongest "longest" +#define XtNnumberStrings "numberStrings" +#define XtNpasteBuffer "pasteBuffer" +#define XtNrowSpacing "rowSpacing" +#define XtNverticalList "verticalList" +#define XtNshowCurrent "showCurrent" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +extern WidgetClass listWidgetClass; + +typedef struct _ListClassRec *ListWidgetClass; +typedef struct _ListRec *ListWidget; + +/* list return structure */ +typedef struct _XawListReturnStruct { + String string; + int list_index; +} XawListReturnStruct; + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawListChange + * + * Parameters: + * w - list widget + * list - new list + * nitems - number of items in the list + * longest - length (in Pixels) of the longest element in the list + * resize - if True the the list widget will try to resize itself + * + * Description: + * Changes the list being used and shown. + * + * Note: + * If nitems of longest are <= 0 then they will be caluculated + * If nitems is <= 0 then the list needs to be NULL terminated + */ +void XawListChange +( + Widget w, + String *list, + int nitems, + int longest, +#if NeedWidePrototypes + int resize +#else + Boolean resize +#endif + ); + +/* + * Function: + * XawListUnhighlight + * + * Parameters: + * w - list widget + * + * Description: + * Unlights the current highlighted element. + */ +void XawListUnhighlight +( + Widget w + ); + +/* + * Function: + * XawListHighlight + * + * Parameters: + * w - list widget + * item - item to highlight + * + * Description: + * Highlights the given item. + */ +void XawListHighlight +( + Widget w, + int item + ); + + +/* + * Function: + * XawListShowCurrent + * + * Paraneters: + * w - list widget + * + * Description: + * Returns the currently highlighted object. + * + * Returns: + * The info about the currently highlighted object + */ + +XawListReturnStruct *XawListShowCurrent +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawList_h */ diff --git a/X11/Xaw/ListP.h b/X11/Xaw/ListP.h new file mode 100644 index 000000000..2b8fc4639 --- /dev/null +++ b/X11/Xaw/ListP.h @@ -0,0 +1,118 @@ +/* $Xorg: ListP.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ */ + +/* +Copyright 1989, 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/Xaw/ListP.h,v 1.8 2001/01/17 19:42:27 dawes Exp $ */ + + +/* + * This is a List widget. It allows the user to select an item in a list and + * notifies the application through a callback function. + * + * Created: 8/13/88 + * By: Chris D. Peterson + * MIT - Project Athena + */ + +#ifndef _XawListP_h +#define _XawListP_h + +/* + * List Widget Private Data + */ +#include <X11/Xaw/SimpleP.h> +#include <X11/Xaw/List.h> + +#define NO_HIGHLIGHT XAW_LIST_NONE +#define OUT_OF_RANGE -1 +#define OKAY 0 + +/* New fields for the List widget class */ +typedef struct { + XtPointer extension; +} ListClassPart; + +/* Full class record */ +typedef struct _ListClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + ListClassPart list_class; +} ListClassRec; + +extern ListClassRec listClassRec; + +/* New fields for the List widget */ +typedef struct { + /* resources */ + Pixel foreground; + Dimension internal_width; /* if not 3d, user sets directly */ + Dimension internal_height; + Dimension column_space; /* half of *_space is add on + top/bot/left of */ + Dimension row_space; /* each item's text bounding box + half added to longest for right */ + int default_cols; + Boolean force_cols; + Boolean paste; + Boolean vertical_cols; + int longest; /* in pixels */ + int nitems; + XFontStruct *font; + XFontSet fontset; /* Sheeran, Omron KK, 93/03/05 */ + String *list; /* for i18n, always in multibyte + format */ + XtCallbackList callback; + + /* private */ + int is_highlighted; /* set to the item currently + highlighted */ + int highlight; /* set to the item that should be + highlighted */ + int col_width; /* width of each column */ + int row_height; /* height of each row */ + int nrows; /* number of rows in the list */ + int ncols; /* number of columns in the list */ + GC normgc; + GC revgc; + GC graygc; + int freedoms; /* flags for resizing height + and width */ +#ifndef OLDXAW + int selected; + Boolean show_current; + char pad1[(sizeof(XtPointer) - sizeof(Boolean)) + + (sizeof(XtPointer) - sizeof(int))]; + XtPointer pad2[2]; /* for future use and keep binary compatability */ +#endif +} ListPart; + + +/* Full instance record */ +typedef struct _ListRec { + CorePart core; + SimplePart simple; + ListPart list; +} ListRec; + +#endif /* _XawListP_h */ diff --git a/X11/Xaw/MenuButtoP.h b/X11/Xaw/MenuButtoP.h new file mode 100644 index 000000000..416fdf9b5 --- /dev/null +++ b/X11/Xaw/MenuButtoP.h @@ -0,0 +1,80 @@ +/* $Xorg: MenuButtoP.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ + * +Copyright 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/Xaw/MenuButtoP.h,v 1.7 2001/01/17 19:42:27 dawes Exp $ */ + +/* + * MenuButtonP.h - Private Header file for MenuButton widget. + * + * This is the private header file for the Athena MenuButton widget. + * It is intended to provide an easy method of activating pulldown menus. + * + * Date: May 2, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawMenuButtonP_h +#define _XawMenuButtonP_h + +#include <X11/Xaw/MenuButton.h> +#include <X11/Xaw/CommandP.h> + +/* New fields for the MenuButton widget class */ +typedef struct _MenuButtonClass { + XtPointer extension; +} MenuButtonClassPart; + +/* class record declaration */ +typedef struct _MenuButtonClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + MenuButtonClassPart menuButton_class; +} MenuButtonClassRec; + +extern MenuButtonClassRec menuButtonClassRec; + +/* New fields for the MenuButton widget */ +typedef struct { + /* resources */ + String menu_name; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MenuButtonPart; + +/* widget declaration */ +typedef struct _MenuButtonRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + MenuButtonPart menu_button; +} MenuButtonRec; + +#endif /* _XawMenuButtonP_h */ diff --git a/X11/Xaw/MenuButton.h b/X11/Xaw/MenuButton.h new file mode 100644 index 000000000..59744c26c --- /dev/null +++ b/X11/Xaw/MenuButton.h @@ -0,0 +1,91 @@ +/* + * $Xorg: MenuButton.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/MenuButton.h,v 1.5 2001/01/17 19:42:27 dawes Exp $ */ + +/*********************************************************************** + * + * MenuButton Widget + * + ***********************************************************************/ + +/* + * MenuButton.h - Public Header file for MenuButton widget. + * + * This is the public header file for the Athena MenuButton widget. + * It is intended to provide an easy method of activating pulldown menus. + * + * Date: May 2, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawMenuButton_h +#define _XawMenuButton_h + +#include <X11/Xaw/Command.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback Pointer NULL + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + menuName MenuName String "menu" + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNmenuName "menuName" +#define XtCMenuName "MenuName" + +extern WidgetClass menuButtonWidgetClass; + +typedef struct _MenuButtonClassRec *MenuButtonWidgetClass; +typedef struct _MenuButtonRec *MenuButtonWidget; + +#endif /* _XawMenuButton_h */ diff --git a/X11/Xaw/MultiSink.h b/X11/Xaw/MultiSink.h new file mode 100644 index 000000000..49ef1df2e --- /dev/null +++ b/X11/Xaw/MultiSink.h @@ -0,0 +1,113 @@ +/* $Xorg: MultiSink.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name OMRON is not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON makes no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON 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 + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + +/*********************************************************** + +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/Xaw/MultiSink.h,v 1.5 2001/01/17 19:42:27 dawes Exp $ */ + +#ifndef _XawMultiSink_h +#define _XawMultiSink_h + +/* + * MultiSink Object + */ + +#include <X11/Xaw/TextSink.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + echo Output Boolean True + displayNonprinting Output Boolean True + fontSet FontSet XFontSet XtDefaultFontSet + +*/ + +#define XtCOutput "Output" + +#define XtNdisplayNonprinting "displayNonprinting" +#define XtNecho "echo" + +#ifndef XtNfontSet /*Sheeran, Omron KK, 93/03/04*/ +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet /*Sheeran, Omron KK, 93/03/04*/ +#define XtCFontSet "FontSet" +#endif + +/* Class record constants */ +extern WidgetClass multiSinkObjectClass; + +typedef struct _MultiSinkClassRec *MultiSinkObjectClass; +typedef struct _MultiSinkRec *MultiSinkObject; + +#endif /* _XawMultiSink_h */ diff --git a/X11/Xaw/MultiSinkP.h b/X11/Xaw/MultiSinkP.h new file mode 100644 index 000000000..537e0b12a --- /dev/null +++ b/X11/Xaw/MultiSinkP.h @@ -0,0 +1,141 @@ +/* $Xorg: MultiSinkP.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON 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 + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + + +/*********************************************************** + +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/Xaw/MultiSinkP.h,v 1.8 2001/01/17 19:42:28 dawes Exp $ */ + +#ifndef _XawMultiSinkP_h +#define _XawMultiSinkP_h + +#include <X11/Xfuncproto.h> + +/* + * MultiSink Object Private Data + */ +#include <X11/Xaw/TextSinkP.h> +#include <X11/Xaw/MultiSink.h> + +/* new fields for the MultiSink object class */ +typedef struct _MultiSinkClassPart { + XtPointer extension; +} MultiSinkClassPart; + +/* Full class record declaration */ +typedef struct _MultiSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; + MultiSinkClassPart multi_sink_class; +} MultiSinkClassRec; + +extern MultiSinkClassRec multiSinkClassRec; + +/* New fields for the MultiSink object record */ +typedef struct { + /* resources */ + Boolean echo; + Boolean display_nonprinting; + + /* private */ + GC normgc, invgc, xorgc; + XawTextPosition cursor_position; + XawTextInsertState laststate; + short cursor_x, cursor_y; /* Cursor Location */ + XFontSet fontset; /* font set to draw */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MultiSinkPart; + +/* Full instance record declaration */ +typedef struct _MultiSinkRec { + ObjectPart object; + TextSinkPart text_sink; + MultiSinkPart multi_sink; +} MultiSinkRec; + +/* + * Semi-private functions + * for use by other Xaw modules only + */ +_XFUNCPROTOBEGIN + +void _XawMultiSinkPosToXY +( + Widget w, + XawTextPosition pos, + Position *x, + Position *y +); + +_XFUNCPROTOEND + +#endif /* _XawMultiSinkP_h */ diff --git a/X11/Xaw/MultiSrc.h b/X11/Xaw/MultiSrc.h new file mode 100644 index 000000000..00c27f6c7 --- /dev/null +++ b/X11/Xaw/MultiSrc.h @@ -0,0 +1,133 @@ +/* $Xorg: MultiSrc.h,v 1.4 2001/02/09 02:03:44 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON makes no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON 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 + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + +/* + +Copyright 1989, 1991, 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/Xaw/MultiSrc.h,v 1.6 2001/01/17 19:42:28 dawes Exp $ */ + +/* + * This file was modified from AsciiSrc.h. + * + * By Li Yuhong, Sept. 18, 1990 + */ + +#ifndef _XawMultiSrc_h +#define _XawMultiSrc_h + +#include <X11/Xaw/TextSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + dataCompression DataCompression Boolean True + length Length int (internal) + pieceSize PieceSize int BUFSIZ + string String String NULL + type Type XawAsciiType XawAsciiString + useStringInPlace UseStringInPlace Boolean False + +*/ + +extern WidgetClass multiSrcObjectClass; + +typedef struct _MultiSrcClassRec *MultiSrcObjectClass; +typedef struct _MultiSrcRec *MultiSrcObject; + +#define MultiSourceObjectClass MultiSrcObjectClass +#define MultiSourceObject MultiSrcObject + +#define XtCDataCompression "DataCompression" +#define XtCPieceSize "PieceSize" +#define XtCType "Type" +#define XtCUseStringInPlace "UseStringInPlace" + +#define XtNdataCompression "dataCompression" +#define XtNpieceSize "pieceSize" +#define XtNtype "type" +#define XtNuseStringInPlace "useStringInPlace" + +#define XtRMultiType "MultiType" + +#define XtEstring "string" +#define XtEfile "file" + +/************************************************************ + * + * THESE ROUTINES ARE NOT PUBLIC: Source should call + * + * the AsciiSrc API which currently forwards requests here. + * + * future versions (like theres going to be an R7 Xaw!) may + * + * eliminate this file or at least these functions entirely. + * + ************************************************************/ + +_XFUNCPROTOBEGIN + +void XawMultiSourceFreeString +( + Widget w + ); + +Bool _XawMultiSave +( + Widget w +); + +Bool _XawMultiSaveAsFile +( + Widget w, + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XawMultiSrc_h */ diff --git a/X11/Xaw/MultiSrcP.h b/X11/Xaw/MultiSrcP.h new file mode 100644 index 000000000..49f7abc3a --- /dev/null +++ b/X11/Xaw/MultiSrcP.h @@ -0,0 +1,182 @@ +/* $Xorg: MultiSrcP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON 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 + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + + +/*********************************************************** + +Copyright 1987, 1988, 1991, 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/Xaw/MultiSrcP.h,v 1.8 2001/01/17 19:42:28 dawes Exp $ */ + +/* + * MultiSrcP.h - Private Header for Multi Text Source. + * + * This is the private header file for the Multi Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the MultiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +/* + * This file was changed from AsciiSrcP.h. + * + * By Li Yuhong, Sept. 18, 1990 + */ + +#ifndef _XawMultiSrcP_h +#define _XawMultiSrcP_h + +#include <X11/Xfuncproto.h> +#include <X11/Xaw/TextSrcP.h> +#include <X11/Xaw/MultiSrc.h> + +#ifdef L_tmpnam +#define TMPSIZ L_tmpnam +#else +#ifdef PATH_MAX +#define TMPSIZ PATH_MAX +#else +#define TMPSIZ 1024 /* bytes to allocate for tmpnam */ +#endif +#endif + +typedef struct _MultiPiece { /* Piece of the text file of BUFSIZ allocated + characters */ + wchar_t* text; /* The text in this buffer */ + XawTextPosition used; /* The number of characters of this buffer + that have been used */ + struct _MultiPiece *prev, *next; /* linked list pointers */ +} MultiPiece; + +/* New fields for the MultiSrc object class */ +typedef struct _MultiSrcClassPart { + XtPointer extension; +} MultiSrcClassPart; + +/* Full class record */ +typedef struct _MultiSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart text_src_class; + MultiSrcClassPart multi_src_class; +} MultiSrcClassRec; + +extern MultiSrcClassRec multiSrcClassRec; + +/* New fields for the MultiSrc object */ +typedef struct _MultiSrcPart { + /* resources */ + XIC ic; /* for X Input Method */ + XtPointer string; /* either the string, or the file name, depend- + ing upon the `type'. ALWAYS IN MB FORMAT */ + XawAsciiType type; /* either string or disk */ + XawTextPosition piece_size; /* Size of text buffer for each piece */ + Boolean data_compression; /* compress to minimum memory automatically + on save? */ +#ifdef OLDXAW + XtCallbackList callback; +#endif + Boolean use_string_in_place;/* Use the string passed in place */ + int multi_length; /* length field for multi string emulation */ + + /* private */ + + Boolean is_tempfile; /* Is this a temporary file? */ +#ifdef OLDXAW + Boolean changes; +#endif + Boolean allocated_string; /* Have I allocated the + string in multi_src->string? */ + XawTextPosition length; /* length of file - IN CHARACTERS, NOT BYTES */ + MultiPiece *first_piece; /* first piece of the text */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MultiSrcPart; + +/* Full instance record */ +typedef struct _MultiSrcRec { + ObjectPart object; + TextSrcPart text_src; + MultiSrcPart multi_src; +} MultiSrcRec; + +_XFUNCPROTOBEGIN + +void _XawMultiSourceFreeString +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawMultiSrcP_h */ diff --git a/X11/Xaw/Paned.h b/X11/Xaw/Paned.h new file mode 100644 index 000000000..aaa532030 --- /dev/null +++ b/X11/Xaw/Paned.h @@ -0,0 +1,264 @@ +/* +* $Xorg: Paned.h,v 1.5 2001/02/09 02:03:45 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/Xaw/Paned.h,v 1.6 2001/01/17 19:42:28 dawes Exp $ */ + +/* + * Paned.h - Paned Composite Widget's public header file. + * + * Updated and significantly modifided from the Athena VPaned Widget. + * + * Date: March 1, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawPaned_h +#define _XawPaned_h + +#include <X11/Intrinsic.h> +#include <X11/Xmu/Converters.h> + +/* RESOURCES: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + betweenCursor Cursor Cursor ** + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + height Height Dimension 0 + gripIndent GripIndent Position 16 + gripCursor Cursor Cursor ** + horizontalGripCursol Cursor Cursor sb_h_double_arrow + horizontalBetweencursor Cursor Cursor sb_up_arrow + internalBorderColor BorderColor Pixel XtDefaultForeground + internalBorderWidth BorderWidth Position 1 + leftCursor Cursor Cursor sb_left_arrow + lowerCursor Cursor Cursor sb_down_arrow + mappedWhenManaged MappedWhenManaged Boolean True + orientation Orientation XtOrientation XtorientVertical + refigureMode Boolean Boolean On + rightCursor Cursor Cursor sb_right_arrow + sensitive Sensitive Boolean True + upperCursor Cursor Cursor sb_up_arrow + verticalBetweenCursor Cursor Cursor sb_left_arrow + verticalGripCursor Cursor Cursor sb_v_double_arrow + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +** These resources now are set to the vertical or horizontal cursor + depending upon orientation, by default. If a value is specified here + then that cursor will be used reguardless of orientation. + + +CONSTRAINT RESOURCES: + + Name Class RepType Default Value + ---- ----- ------- ------------- + allowResize Boolean Boolean False + max Max Dimension unlimited + min Min Dimension Grip Size + preferredPaneSize PreferredPaneSize Dimension PANED_ASK_CHILD + resizeToPreferred Boolean Boolean False + showGrip ShowGrip Boolean True + skipAdjust Boolean Boolean False + +*/ + +#define PANED_ASK_CHILD 0 +#define PANED_GRIP_SIZE 0 + +#define XtNallowResize "allowResize" +#define XtNbetweenCursor "betweenCursor" +#define XtNverticalBetweenCursor "verticalBetweenCursor" +#define XtNhorizontalBetweenCursor "horizontalBetweenCursor" +#define XtNgripCursor "gripCursor" +#define XtNgripIndent "gripIndent" +#define XtNhorizontalGripCursor "horizontalGripCursor" +#define XtNinternalBorderColor "internalBorderColor" +#define XtNinternalBorderWidth "internalBorderWidth" +#define XtNleftCursor "leftCursor" +#define XtNlowerCursor "lowerCursor" +#define XtNrefigureMode "refigureMode" +#define XtNposition "position" +#define XtNmin "min" +#define XtNmax "max" +#define XtNpreferredPaneSize "preferredPaneSize" +#define XtNresizeToPreferred "resizeToPreferred" +#define XtNrightCursor "rightCursor" +#define XtNshowGrip "showGrip" +#define XtNskipAdjust "skipAdjust" +#define XtNupperCursor "upperCursor" +#define XtNverticalGripCursor "verticalGripCursor" + +#define XtCGripIndent "GripIndent" +#define XtCMin "Min" +#define XtCMax "Max" +#define XtCPreferredPaneSize "PreferredPaneSize" +#define XtCShowGrip "ShowGrip" + +/* Class record constant */ +extern WidgetClass panedWidgetClass; + +typedef struct _PanedClassRec *PanedWidgetClass; +typedef struct _PanedRec *PanedWidget; + +/* + * Public Procedures + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawPanedSetMinMax + * + * Parameters: + * widget - widget that is a child of the Paned widget + * min - new min and max size for the pane + * max - "" + * + * Description: + * Sets the min and max size for a pane. + */ +void XawPanedSetMinMax +( + Widget w, + int min, + int max + ); + +/* + * Function: + * XawPanedGetMinMax + * + * Parameters: + * widget - widget that is a child of the Paned widget + * min - return the current min and max size for the pane + * max - "" + * + * Description: + * Gets the min and max size for a pane. + */ +void XawPanedGetMinMax +( + Widget w, + int *min_return, + int *max_return + ); + +/* + * Function: + * XawPanedSetRefigureMode + * + * Parameters: + * w - paned widget + * mode - if False then inhibit refigure + * + * Description: + * Allows a flag to be set the will inhibit the paned widgets + * relayout routine. + */ +void XawPanedSetRefigureMode +( + Widget w, +#if NeedWidePrototypes + int mode +#else + Boolean mode +#endif + ); + +/* + * Function: + * XawPanedGetNumSub + * + * Parameters: + * w - paned widget + * + * Returns: + * Number of panes in the paned widget. + */ +int XawPanedGetNumSub +( + Widget w + ); + +/* + * Function: + * XawPanedAllowResize + * + * Parameters: + * widget - child of the paned widget + * + * Description: + * Allows a flag to be set that determines if the paned widget will + * allow geometry requests from this child + */ +void XawPanedAllowResize +( + Widget w, +#if NeedWidePrototypes + int allow_resize +#else + Boolean allow_resize +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawPaned_h */ diff --git a/X11/Xaw/PanedP.h b/X11/Xaw/PanedP.h new file mode 100644 index 000000000..a94b0f34d --- /dev/null +++ b/X11/Xaw/PanedP.h @@ -0,0 +1,180 @@ +/*********************************************************** + + $Xorg: PanedP.h,v 1.4 2001/02/09 02:03:45 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/Xaw/PanedP.h,v 1.7 2001/01/17 19:42:28 dawes Exp $ */ + +/* + * Updated and significantly modified from the Athena VPaned Widget. + * + * Date: March 1, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawPanedP_h +#define _XawPanedP_h + +#include <X11/Xaw/Paned.h> + +/* New fields for the Paned widget class record */ +typedef struct _PanedClassPart { + XtPointer extension; +} PanedClassPart; + +/* Full Class record declaration */ +typedef struct _PanedClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + PanedClassPart paned_class; +} PanedClassRec; + +extern PanedClassRec panedClassRec; + +/* Paned constraint record */ +typedef struct _PanedConstraintsPart { + /* Resources */ + Dimension min; /* Minimum height */ + Dimension max; /* Maximum height */ + Boolean allow_resize; /* True if child resize requests are ok */ + Boolean show_grip; /* True if child will have grip below it, + when it is not the bottom pane */ + Boolean skip_adjust; /* True if child's height should not be + changed without explicit user action */ + int position; /* position location in Paned (relative to + other children) ** NIY ** */ + Dimension preferred_size; /* The Preferred size of the pane. + If this is zero then ask child for size*/ + Boolean resize_to_pref; /* resize this pane to its preferred size + on a resize or change managed after + realize */ + + /* Private state */ + Position delta; /* Desired Location */ + Position olddelta; /* The last value of dy */ + Boolean paned_adjusted_me; /* Has the vpaned adjusted this widget w/o + user interaction to make things fit? */ + Dimension wp_size; /* widget's preferred size */ + int size; /* the size the widget will actually get */ + Widget grip; /* The grip for this child */ +} PanedConstraintsPart, *Pane; + +typedef struct _PanedConstraintsRec { + PanedConstraintsPart paned; +} PanedConstraintsRec, *PanedConstraints; + +/* + * The Pane Stack Structure + */ +typedef struct _PaneStack { + struct _PaneStack *next; /* The next element on the stack */ + Pane pane; /* The pane in this element on the stack */ + int start_size; /* The size of this element when it + was pushed onto the stack */ +} PaneStack; + +/* New Fields for the Paned widget record */ +typedef struct { + /* resources */ + Position grip_indent; /* Location of grips (offset + from right margin) */ + Boolean refiguremode; /* Whether to refigure changes + right now */ + XtTranslations grip_translations; /* grip translation table */ + Pixel internal_bp; /* color of internal borders */ + Dimension internal_bw; /* internal border width */ + XtOrientation orientation; /* Orientation of paned widget */ + + Cursor cursor; /* Cursor for paned window */ + Cursor grip_cursor; /* inactive grip cursor */ + Cursor v_grip_cursor; /* inactive vert grip cursor */ + Cursor h_grip_cursor; /* inactive horiz grip cursor */ + Cursor adjust_this_cursor; /* active grip cursor: T */ + Cursor v_adjust_this_cursor; /* active vert grip cursor: T */ + Cursor h_adjust_this_cursor; /* active horiz grip cursor: T */ + + /* vertical */ + Cursor adjust_upper_cursor; /* active grip cursor: U */ + Cursor adjust_lower_cursor; /* active grip cursor: D */ + + /* horizontal */ + Cursor adjust_left_cursor; /* active grip cursor: U */ + Cursor adjust_right_cursor; /* active grip cursor: D */ + + /* private */ + Boolean recursively_called; /* for ChangeManaged */ + Boolean resize_children_to_pref; /* override constrain resources + and resize all children to + preferred size */ + int start_loc; /* mouse origin when adjusting */ + Widget whichadd; /* Which pane to add changes to */ + Widget whichsub; /* Which pane to sub changes from */ + GC normgc; /* GC to use when drawing borders */ + GC invgc; /* GC to use when erasing borders */ + GC flipgc; /* GC to use when animating borders */ + int num_panes; /* count of managed panes */ + PaneStack *stack; /* The pane stack for this widget */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PanedPart; + +/* + * Full instance record declaration + */ +typedef struct _PanedRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + PanedPart paned; +} PanedRec; + +#endif /* _XawPanedP_h */ diff --git a/X11/Xaw/Panner.h b/X11/Xaw/Panner.h new file mode 100644 index 000000000..594e2eb47 --- /dev/null +++ b/X11/Xaw/Panner.h @@ -0,0 +1,107 @@ +/* + * $Xorg: Panner.h,v 1.5 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/Panner.h,v 1.5 2001/01/17 19:42:28 dawes Exp $ */ + +#ifndef _XawPanner_h +#define _XawPanner_h + +#include <X11/Intrinsic.h> +#include <X11/Xaw/Reports.h> + +/***************************************************************************** + * + * Panner Widget (subclass of Simple) + * + * This widget is used to represent navigation in a 2d coordinate system + * + * Resources: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * allowOff AllowOff Boolean FALSE + * background Background Pixel XtDefaultBackground + * backgroundStipple BackgroundStipple String NULL + * canvasWidth CanvasWidth Dimension 0 + * canvasHeight CanvasHeight Dimension 0 + * defaultScale DefaultScale Dimension 8 percent + * foreground Foreground Pixel XtDefaultBackground + * internalSpace InternalSpace Dimension 4 + * lineWidth LineWidth Dimension 0 + * reportCallback ReportCallback XtCallbackList NULL + * resize Resize Boolean TRUE + * rubberBand RubberBand Boolean FALSE + * shadowColor ShadowColor Pixel XtDefaultForeground + * shadowThickness ShadowThickness Dimension 2 + * sliderX SliderX Position 0 + * sliderY SliderY Position 0 + * sliderWidth SliderWidth Dimension 0 + * sliderHeight SliderHeight Dimension 0 + * + *****************************************************************************/ + +#ifndef _XtStringDefs_h_ +#define XtNresize "resize" +#define XtCResize "Resize" +#endif + +#define XtNallowOff "allowOff" +#define XtCAllowOff "AllowOff" +#define XtNbackgroundStipple "backgroundStipple" +#define XtCBackgroundStipple "BackgroundStipple" +#define XtNdefaultScale "defaultScale" +#define XtCDefaultScale "DefaultScale" +#define XtNcanvasWidth "canvasWidth" +#define XtCCanvasWidth "CanvasWidth" +#define XtNcanvasHeight "canvasHeight" +#define XtCCanvasHeight "CanvasHeight" +#define XtNinternalSpace "internalSpace" +#define XtCInternalSpace "InternalSpace" +#define XtNlineWidth "lineWidth" +#define XtCLineWidth "LineWidth" +#define XtNrubberBand "rubberBand" +#define XtCRubberBand "RubberBand" +#define XtNshadowThickness "shadowThickness" +#define XtCShadowThickness "ShadowThickness" +#define XtNshadowColor "shadowColor" +#define XtCShadowColor "ShadowColor" +#define XtNsliderX "sliderX" +#define XtCSliderX "SliderX" +#define XtNsliderY "sliderY" +#define XtCSliderY "SliderY" +#define XtNsliderWidth "sliderWidth" +#define XtCSliderWidth "SliderWidth" +#define XtNsliderHeight "sliderHeight" +#define XtCSliderHeight "SliderHeight" + +extern WidgetClass pannerWidgetClass; + +typedef struct _PannerClassRec *PannerWidgetClass; +typedef struct _PannerRec *PannerWidget; + +#endif /* _XawPanner_h */ diff --git a/X11/Xaw/PannerP.h b/X11/Xaw/PannerP.h new file mode 100644 index 000000000..aacf2e26c --- /dev/null +++ b/X11/Xaw/PannerP.h @@ -0,0 +1,108 @@ +/* + * $Xorg: PannerP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/PannerP.h,v 1.7 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _XawPannerP_h +#define _XawPannerP_h + +#include <X11/Xaw/Panner.h> +#include <X11/Xaw/SimpleP.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} PannerClassPart; + +/* Panner widget class */ +typedef struct _PannerClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + PannerClassPart panner_class; +} PannerClassRec; + +/* new fields in widget */ +typedef struct { + /* resources */ + XtCallbackList report_callbacks; /* callback/Callback */ + Boolean allow_off; /* allowOff/AllowOff */ + Boolean resize_to_pref; /* resizeToPreferred/Boolean */ + Pixel foreground; /* foreground/Foreground */ + Pixel shadow_color; /* shadowColor/ShadowColor */ + Dimension shadow_thickness; /* shadowThickness/ShadowThickness */ + Dimension default_scale; /* defaultScale/DefaultScale */ + Dimension line_width; /* lineWidth/LineWidth */ + Dimension canvas_width; /* canvasWidth/CanvasWidth */ + Dimension canvas_height; /* canvasHeight/CanvasHeight */ + Position slider_x; /* sliderX/SliderX */ + Position slider_y; /* sliderY/SliderY */ + Dimension slider_width; /* sliderWidth/SliderWidth */ + Dimension slider_height; /* sliderHeight/SliderHeight */ + Dimension internal_border; /* internalBorderWidth/BorderWidth */ + String stipple_name; /* backgroundStipple/BackgroundStipple + */ + /* private */ + GC slider_gc; /* background of slider */ + GC shadow_gc; /* edge of slider and shadow */ + GC xor_gc; /* for doing XOR tmp graphics */ + double haspect, vaspect; /* aspect ratio of core to canvas */ + Boolean rubber_band; /* true = rubber band, false = move */ + struct { + Boolean doing; /* tmp graphics in progress */ + Boolean showing; /* true if tmp graphics displayed */ + Position startx, starty; /* initial position of slider */ + Position dx, dy; /* offset loc for tmp graphics */ + Position x, y; /* location for tmp graphics */ + } tmp; + Position knob_x, knob_y; /* real upper left of knob in canvas */ + Dimension knob_width, knob_height; /* real size of knob in canvas */ + Boolean shadow_valid; /* true if rects are valid */ + XRectangle shadow_rects[2]; /* location of shadows */ + Position last_x, last_y; /* previous location of knob */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PannerPart; + +typedef struct _PannerRec { + CorePart core; + SimplePart simple; + PannerPart panner; +} PannerRec; + +#define PANNER_HSCALE(pw,val) ((pw)->panner.haspect * ((double)(val))) +#define PANNER_VSCALE(pw,val) ((pw)->panner.vaspect * ((double)(val))) + +#define PANNER_DSCALE(pw,val) (Dimension) \ +((((unsigned long)(val)) * (unsigned long)pw->panner.default_scale) / 100L) + +#define PANNER_DEFAULT_SCALE 8 /* percent */ +#define PANNER_OUTOFRANGE -30000 + +extern PannerClassRec pannerClassRec; + +#endif /* _XawPannerP_h */ diff --git a/X11/Xaw/Porthole.h b/X11/Xaw/Porthole.h new file mode 100644 index 000000000..68274d886 --- /dev/null +++ b/X11/Xaw/Porthole.h @@ -0,0 +1,63 @@ +/* + * $Xorg: Porthole.h,v 1.5 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1990, 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/Porthole.h,v 1.5 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _XawPorthole_h +#define _XawPorthole_h + +#include <X11/Intrinsic.h> +#include <X11/Xaw/Reports.h> + +/***************************************************************************** + * + * Porthole Widget (subclass of Composite) + * + * This widget is similar to a viewport without scrollbars. Child movement + * is done by external panners or scrollbars. + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * background Background Pixel XtDefaultBackground + * border BorderColor Pixel XtDefaultForeground + * borderWidth BorderWidth Dimension 1 + * height Height Dimension 0 + * reportCallback ReportCallback Pointer NULL + * width Width Dimension 0 + * x Position Position 0 + * y Position Position 0 + * + *****************************************************************************/ + +extern WidgetClass portholeWidgetClass; +typedef struct _PortholeClassRec *PortholeWidgetClass; +typedef struct _PortholeRec *PortholeWidget; + +#endif /* _XawPorthole_h */ diff --git a/X11/Xaw/PortholeP.h b/X11/Xaw/PortholeP.h new file mode 100644 index 000000000..39dcbdc53 --- /dev/null +++ b/X11/Xaw/PortholeP.h @@ -0,0 +1,64 @@ +/* + * $Xorg: PortholeP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1990, 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/PortholeP.h,v 1.7 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _XawPortholeP_h +#define _XawPortholeP_h + +#include <X11/Xaw/Porthole.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} PortholeClassPart; + +/* widget class */ +typedef struct _PortholeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + PortholeClassPart porthole_class; +} PortholeClassRec; + +/* new fields in widget */ +typedef struct { + /* resources */ + XtCallbackList report_callbacks; /* callback/Callback */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PortholePart; + +typedef struct _PortholeRec { + CorePart core; + CompositePart composite; + PortholePart porthole; +} PortholeRec; + +extern PortholeClassRec portholeClassRec; + +#endif /* _XawPortholeP_h */ diff --git a/X11/Xaw/Repeater.h b/X11/Xaw/Repeater.h new file mode 100644 index 000000000..cfb2c5313 --- /dev/null +++ b/X11/Xaw/Repeater.h @@ -0,0 +1,75 @@ +/* + * $Xorg: Repeater.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/Repeater.h,v 1.5 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _XawRepeater_h +#define _XawRepeater_h + +#include <X11/Xaw/Command.h> + +/***************************************************************************** + * + * Repeater Widget (subclass of Command) + * + * This widget is a push button that repeatedly fires when held down + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * decay Decay int 5 milliseconds + * flash Boolean Boolean FALSE + * initialDelay Delay int 200 milliseconds + * minimumDelay MinimumDelay int 10 milliseconds + * repeatDelay Delay int 50 milliseconds + * startCallback StartCallback XtCallbackList NULL + * stopCallback StopCallback XtCallbackList NULL + * + *****************************************************************************/ + +#define XtNdecay "decay" +#define XtCDecay "Decay" +#define XtNinitialDelay "initialDelay" +#define XtCDelay "Delay" +#define XtNminimumDelay "minimumDelay" +#define XtCMinimumDelay "MinimumDelay" +#define XtNrepeatDelay "repeatDelay" +#define XtNflash "flash" +#define XtNstartCallback "startCallback" +#define XtCStartCallback "StartCallback" +#define XtNstopCallback "stopCallback" +#define XtCStopCallback "StopCallback" + + +extern WidgetClass repeaterWidgetClass; + +typedef struct _RepeaterClassRec *RepeaterWidgetClass; +typedef struct _RepeaterRec *RepeaterWidget; + +#endif /* _XawRepeater_h */ diff --git a/X11/Xaw/RepeaterP.h b/X11/Xaw/RepeaterP.h new file mode 100644 index 000000000..3ce0a498c --- /dev/null +++ b/X11/Xaw/RepeaterP.h @@ -0,0 +1,84 @@ +/* + * $Xorg: RepeaterP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 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. + * + * Author: Jim Fulton, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/RepeaterP.h,v 1.7 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _XawRepeaterP_h +#define _XawRepeaterP_h + +#include <X11/Xaw/CommandP.h> +#include <X11/Xaw/Repeater.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} RepeaterClassPart; + +/* repeater widget class */ +typedef struct _RepeaterClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + RepeaterClassPart repeater_class; +} RepeaterClassRec; + +typedef struct { + /* resources */ + int initial_delay; /* initialDelay/Delay */ + int repeat_delay; /* repeatDelay/Delay */ + int minimum_delay; /* minimumDelay/MinimumDelay */ + int decay; /* decay to minimum delay */ + Boolean flash; /* flash/Boolean */ + XtCallbackList start_callbacks; /* startCallback/StartCallback */ + XtCallbackList stop_callbacks; /* stopCallback/StopCallback */ + + /* private */ + int next_delay; /* next amount for timer */ + XtIntervalId timer; /* timer that will fire */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} RepeaterPart; + +typedef struct _RepeaterRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + RepeaterPart repeater; +} RepeaterRec; + + /* milliseconds */ +#define REP_DEF_DECAY 5 +#define REP_DEF_INITIAL_DELAY 200 +#define REP_DEF_MINIMUM_DELAY 10 +#define REP_DEF_REPEAT_DELAY 50 + +extern RepeaterClassRec repeaterClassRec; + +#endif /* _XawRepeaterP_h */ diff --git a/X11/Xaw/Reports.h b/X11/Xaw/Reports.h new file mode 100644 index 000000000..33f18d187 --- /dev/null +++ b/X11/Xaw/Reports.h @@ -0,0 +1,56 @@ +/* + * $Xorg: Reports.h,v 1.5 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1990, 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 _Xaw_Reports_h +#define _Xaw_Reports_h + +#include <X11/Intrinsic.h> + +/* + * XawPannerReport - this structure is used by the reportCallback of the + * Panner, Porthole, Viewport, and Scrollbar widgets to report its position. + * All fields must be filled in, although the changed field may be used as + * a hint as to which fields have been altered since the last report. + */ +typedef struct { + unsigned int changed; /* mask, see below */ + Position slider_x, slider_y; /* location of slider within outer */ + Dimension slider_width, slider_height; /* size of slider */ + Dimension canvas_width, canvas_height; /* size of canvas */ +} XawPannerReport; + +#define XawPRSliderX (1 << 0) +#define XawPRSliderY (1 << 1) +#define XawPRSliderWidth (1 << 2) +#define XawPRSliderHeight (1 << 3) +#define XawPRCanvasWidth (1 << 4) +#define XawPRCanvasHeight (1 << 5) +#define XawPRAll (63) /* union of above */ + +#define XtNreportCallback "reportCallback" +#define XtCReportCallback "reportCallback" + +#endif /* _Xaw_Reports_h */ diff --git a/X11/Xaw/Scrollbar.h b/X11/Xaw/Scrollbar.h new file mode 100644 index 000000000..c776d41e2 --- /dev/null +++ b/X11/Xaw/Scrollbar.h @@ -0,0 +1,137 @@ +/* $Xorg: Scrollbar.h,v 1.4 2001/02/09 02:03:45 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/Xaw/Scrollbar.h,v 1.6 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _Scrollbar_h +#define _Scrollbar_h + +/* + * Scrollbar Widget + */ + +#include <X11/Xmu/Converters.h> +#include <X11/Xfuncproto.h> + +/* Scrollbar resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + colormap Colormap Colormap parent's colormap + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + foreground Foreground Pixel XtDefaultForeground + height Height Dimension length or thickness + insensitiveBorder Insensitive Pixmap GreyPixmap + jumpProc Callback XtCallbackList NULL + length Length Dimension 1 + mappedWhenManaged MappedWhenManaged Boolean True + minimumThumb MinimumThumb Dimension 7 + orientation Orientation XtOrientation XtorientVertical + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + screen Screen Screen parent's screen + scrollDCursor Cursor Cursor XC_sb_down_arrow + scrollHCursor Cursor Cursor XC_sb_h_double_arrow + scrollLCursor Cursor Cursor XC_sb_left_arrow + scrollProc Callback XtCallbackList NULL + scrollRCursor Cursor Cursor XC_sb_right_arrow + scrollUCursor Cursor Cursor XC_sb_up_arrow + scrollVCursor Cursor Cursor XC_sb_v_double_arrow + sensitive Sensitive Boolean True + shown Shown Float 0.0 + thickness Thickness Dimension 14 + thumb Thumb Bitmap GreyPixmap + thumbProc Callback XtCallbackList NULL + topOfThumb TopOfThumb Float 0.0 + translations Translations TranslationTable see source or doc + width Width Dimension thickness or length + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCMinimumThumb "MinimumThumb" +#define XtCShown "Shown" +#define XtCTopOfThumb "TopOfThumb" + +#define XtNminimumThumb "minimumThumb" +#define XtNtopOfThumb "topOfThumb" + +typedef struct _ScrollbarRec *ScrollbarWidget; +typedef struct _ScrollbarClassRec *ScrollbarWidgetClass; + +extern WidgetClass scrollbarWidgetClass; + +_XFUNCPROTOBEGIN + +void XawScrollbarSetThumb +( + Widget scrollbar, +#if NeedWidePrototypes + double top, + double shown +#else + float top, + float shown +#endif + ); + +_XFUNCPROTOEND + +#endif /* _Scrollbar_h */ diff --git a/X11/Xaw/ScrollbarP.h b/X11/Xaw/ScrollbarP.h new file mode 100644 index 000000000..ec3af46f8 --- /dev/null +++ b/X11/Xaw/ScrollbarP.h @@ -0,0 +1,109 @@ +/* + * $Xorg: ScrollbarP.h,v 1.4 2001/02/09 02:03:45 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/Xaw/ScrollbarP.h,v 1.7 2001/01/17 19:42:29 dawes Exp $ */ + +#ifndef _ScrollbarP_h +#define _ScrollbarP_h + +#include <X11/Xaw/Scrollbar.h> +#include <X11/Xaw/SimpleP.h> + +typedef struct { + /* resources */ + Pixel foreground; /* thumb foreground color */ + XtOrientation orientation; /* horizontal or vertical */ + XtCallbackList scrollProc; /* proportional scroll */ + XtCallbackList thumbProc; /* jump (to position) scroll */ + XtCallbackList jumpProc; /* same as thumbProc but pass data by ref */ + Pixmap thumb; /* thumb pixmap */ + Cursor upCursor; /* scroll up cursor */ + Cursor downCursor; /* scroll down cursor */ + Cursor leftCursor; /* scroll left cursor */ + Cursor rightCursor; /* scroll right cursor */ + Cursor verCursor; /* scroll vertical cursor */ + Cursor horCursor; /* scroll horizontal cursor */ + float top; + float shown; + Dimension length; /* either height or width */ + Dimension thickness; /* either width or height */ + Dimension min_thumb; /* minium size for the thumb */ + + /* private */ + Cursor inactiveCursor; /* The normal cursor for scrollbar */ + char direction; /* a scroll has started; which direction */ + GC gc; /* a (shared) gc */ + Position topLoc; /* Pixel that corresponds to top */ + Dimension shownLength; /* Num pixels corresponding to shown */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} ScrollbarPart; + +typedef struct _ScrollbarRec { + CorePart core; + SimplePart simple; + ScrollbarPart scrollbar; +} ScrollbarRec; + +typedef struct { + XtPointer extension; +} ScrollbarClassPart; + +typedef struct _ScrollbarClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + ScrollbarClassPart scrollbar_class; +} ScrollbarClassRec; + +extern ScrollbarClassRec scrollbarClassRec; + +#endif /* _ScrollbarP_h */ diff --git a/X11/Xaw/Simple.h b/X11/Xaw/Simple.h new file mode 100644 index 000000000..7ba9354b9 --- /dev/null +++ b/X11/Xaw/Simple.h @@ -0,0 +1,116 @@ +/* $Xorg: Simple.h,v 1.4 2001/02/09 02:03:45 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/Xaw/Simple.h,v 1.8 2001/01/17 19:42:30 dawes Exp $ */ + +#ifndef _Simple_h +#define _Simple_h + +#include <X11/Xmu/Converters.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension 0 + insensitiveBorder Insensitive Pixmap Gray + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + sensitive Sensitive Boolean True + tip Tip String NULL + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNcursor "cursor" +#define XtNcursorName "cursorName" +#define XtNinsensitiveBorder "insensitiveBorder" + +#define XtCInsensitive "Insensitive" + +#ifndef XtCInternational +#define XtCInternational "International" +#endif + +#ifndef XtNinternational +#define XtNinternational "international" +#endif + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif + +#define XtNtip "tip" +#define XtCTip "Tip" +#endif /* OLDXAW */ + +typedef struct _SimpleClassRec *SimpleWidgetClass; +typedef struct _SimpleRec *SimpleWidget; + +extern WidgetClass simpleWidgetClass; + +#endif /* _Simple_h */ diff --git a/X11/Xaw/SimpleMenP.h b/X11/Xaw/SimpleMenP.h new file mode 100644 index 000000000..46102059e --- /dev/null +++ b/X11/Xaw/SimpleMenP.h @@ -0,0 +1,101 @@ +/* + * $Xorg: SimpleMenP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/SimpleMenP.h,v 1.12 2001/01/17 19:42:30 dawes Exp $ */ + +/* + * SimpleMenuP.h - Private Header file for SimpleMenu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SimpleMenuP_h +#define _SimpleMenuP_h + +#include <X11/Xaw/SimpleMenu.h> +#include <X11/Xaw/SmeP.h> +#include <X11/ShellP.h> +#include <X11/Xaw/XawInit.h> + +typedef struct { + XtPointer extension; /* For future needs */ +} SimpleMenuClassPart; + +typedef struct _SimpleMenuClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + OverrideShellClassPart override_shell_class; + SimpleMenuClassPart simpleMenu_class; +} SimpleMenuClassRec; + +extern SimpleMenuClassRec simpleMenuClassRec; + +typedef struct _SimpleMenuPart { + /* resources */ + String label_string; /* The string for the label or NULL */ + SmeObject label; /* If label_string is non-NULL then this is + the label widget */ + WidgetClass label_class; /* Widget Class of the menu label object */ + Dimension top_margin; /* Top and bottom margins */ + Dimension bottom_margin; + Dimension row_height; /* height of each row (menu entry) */ + Cursor cursor; /* The menu's cursor */ + SmeObject popup_entry; /* The entry to position the cursor on for + when using XawPositionSimpleMenu */ + Boolean menu_on_screen; /* Force the menus to be fully on the screen*/ + int backing_store; /* What type of backing store to use */ + + /* private */ + Boolean recursive_set_values; /* contain a possible infinite loop */ + Boolean menu_width; /* If true then force width to remain + core.width */ + Boolean menu_height; /* Just like menu_width, but for height */ + SmeObject entry_set; /* The entry that is currently set or + highlighted */ +#ifndef OLDXAW + Dimension left_margin; + Dimension right_margin; + XawDisplayList *display_list; + Widget sub_menu; + unsigned char state; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SimpleMenuPart; + +typedef struct _SimpleMenuRec { + CorePart core; + CompositePart composite; + ShellPart shell; + OverrideShellPart override; + SimpleMenuPart simple_menu; +} SimpleMenuRec; + +#endif /* _SimpleMenuP_h */ diff --git a/X11/Xaw/SimpleMenu.h b/X11/Xaw/SimpleMenu.h new file mode 100644 index 000000000..0ee689683 --- /dev/null +++ b/X11/Xaw/SimpleMenu.h @@ -0,0 +1,173 @@ +/* + * $Xorg: SimpleMenu.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1989, 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. + * + * Author: Chris D. Peterson, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/SimpleMenu.h,v 1.7 2001/01/17 19:42:30 dawes Exp $ */ + +/* + * SimpleMenu.h - Public Header file for SimpleMenu widget. + * + * This is the public header file for the Athena SimpleMenu widget. + * It is intended to provide one pane pulldown and popup menus within + * the framework of the X Toolkit. As the name implies it is a first and + * by no means complete implementation of menu code. It does not attempt to + * fill the needs of all applications, but does allow a resource oriented + * interface to menus. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SimpleMenu_h +#define _SimpleMenu_h + +#include <X11/Shell.h> +#include <X11/Xmu/Converters.h> + +/* + * SimpleMenu widget + */ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + backgroundPixmap BackgroundPixmap Pixmap None + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap BorderPixmap Pixmap None + borderWidth BorderWidth Dimension 1 + bottomMargin VerticalMargins Dimension VerticalSpace + columnWidth ColumnWidth Dimension Width of widest text + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension 0 + label Label String NULL (No label) + labelClass LabelClass Pointer smeBSBObjectClass + leftMargin HorizontalMargins Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + rightMargin HorizontalMargins Dimension 0 + rowHeight RowHeight Dimension Height of Font + sensitive Sensitive Boolean True + topMargin VerticalMargins Dimension VerticalSpace + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _SimpleMenuClassRec* SimpleMenuWidgetClass; +typedef struct _SimpleMenuRec* SimpleMenuWidget; + +extern WidgetClass simpleMenuWidgetClass; + +#define XtNcursor "cursor" +#define XtNbottomMargin "bottomMargin" +#define XtNcolumnWidth "columnWidth" +#define XtNlabelClass "labelClass" +#define XtNmenuOnScreen "menuOnScreen" +#define XtNpopupOnEntry "popupOnEntry" +#define XtNrowHeight "rowHeight" +#define XtNtopMargin "topMargin" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" + +#define XtCColumnWidth "ColumnWidth" +#define XtCLabelClass "LabelClass" +#define XtCMenuOnScreen "MenuOnScreen" +#define XtCPopupOnEntry "PopupOnEntry" +#define XtCRowHeight "RowHeight" + +#define XtCVerticalMargins "VerticalMargins" + +#ifndef OLDXAW +#define XtCHorizontalMargins "HorizontalMargins" +#define XawNdisplayList "displayList" +#define XawCDisplayList "DisplayList" +#define XawRDisplayList "XawDisplayList" +#endif + +/* + * Public Functions + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawSimpleMenuAddGlobalActions + * + * Parameters: + * app_con - appcontext + * + * Description: + * Adds the global actions to the simple menu widget. + */ +void XawSimpleMenuAddGlobalActions +( + XtAppContext app_con + ); + +/* + * Function: + * XawSimpleMenuGetActiveEntry + * + * Parameters: + * w - smw widget + * + * Description: + * Gets the currently active (set) entry. + * + * Returns: + * The currently set entry or NULL if none is set + */ +Widget XawSimpleMenuGetActiveEntry +( + Widget w + ); + +/* + * Function: + * XawSimpleMenuClearActiveEntry + * + * Parameters: + * w - smw widget + * + * Description: + * Unsets the currently active (set) entry. + */ +void XawSimpleMenuClearActiveEntry +( + Widget w +); + +_XFUNCPROTOEND + +#endif /* _SimpleMenu_h */ diff --git a/X11/Xaw/SimpleP.h b/X11/Xaw/SimpleP.h new file mode 100644 index 000000000..f2fa3fa22 --- /dev/null +++ b/X11/Xaw/SimpleP.h @@ -0,0 +1,102 @@ +/*********************************************************** + + $Xorg: SimpleP.h,v 1.4 2001/02/09 02:03:45 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/Xaw/SimpleP.h,v 1.12 2001/12/14 19:54:43 dawes Exp $ */ + +#ifndef _SimpleP_h +#define _SimpleP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Simple.h> + +_XFUNCPROTOBEGIN + +#include <X11/Xaw/XawInit.h> + +typedef struct { + Bool (*change_sensitive)(Widget); +#ifndef OLDXAW + XtPointer extension; +#endif +} SimpleClassPart; + +#define XtInheritChangeSensitive ((Bool (*)(Widget))_XtInherit) + +typedef struct _SimpleClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; +} SimpleClassRec; + +extern SimpleClassRec simpleClassRec; + +typedef struct { + /* resources */ + Cursor cursor; + Pixmap insensitive_border; + String cursor_name; /* cursor specified by name */ + Pixel pointer_fg, pointer_bg; /* Pointer colors */ + Boolean international; + + /* private */ +#ifndef OLDXAW + XawDisplayList *display_list; + String tip; + XtPointer pad[3]; /* for future use and keep binary compatability */ +#endif +} SimplePart; + +typedef struct _SimpleRec { + CorePart core; + SimplePart simple; +} SimpleRec; + +_XFUNCPROTOEND + +#endif /* _SimpleP_h */ diff --git a/X11/Xaw/Sme.h b/X11/Xaw/Sme.h new file mode 100644 index 000000000..fb87b0073 --- /dev/null +++ b/X11/Xaw/Sme.h @@ -0,0 +1,73 @@ +/* + * $Xorg: Sme.h,v 1.5 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/Sme.h,v 1.5 2001/01/17 19:42:31 dawes Exp $ */ + +/* + * This is the public header file for the Athena Sme object. + * It is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _Sme_h +#define _Sme_h + +#include <X11/Intrinsic.h> +#include <X11/RectObj.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Pointer NULL + destroyCallback Callback Pointer NULL + height Height Dimension 0 + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef XtCInternational +#define XtCInternational "International" +#endif + +#ifndef XtNinternational +#define XtNinternational "international" +#endif + + +typedef struct _SmeClassRec *SmeObjectClass; +typedef struct _SmeRec *SmeObject; + +extern WidgetClass smeObjectClass; + +#endif /* _Sme_h */ diff --git a/X11/Xaw/SmeBSB.h b/X11/Xaw/SmeBSB.h new file mode 100644 index 000000000..094b558c3 --- /dev/null +++ b/X11/Xaw/SmeBSB.h @@ -0,0 +1,98 @@ +/* + * $Xorg: SmeBSB.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/SmeBSB.h,v 1.6 2001/01/17 19:42:31 dawes Exp $ */ + +/* + * SmeBSB.h - Public Header file for SmeBSB object. + * + * This is the public header file for the Athena BSB Sme object. + * It is intended to be used with the simple menu widget. This object + * provides bitmap - string - bitmap style entries. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SmeBSB_h +#define _SmeBSB_h + +#include <X11/Xmu/Converters.h> +#include <X11/Xaw/Sme.h> + +/* BSB Menu Entry Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Callback NULL + destroyCallback Callback Pointer NULL + font Font XFontStruct * XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension 0 + label Label String Name of entry + leftBitmap LeftBitmap Pixmap None + leftMargin HorizontalMargins Dimension 4 + menuName MenuName String NULL + rightBitmap RightBitmap Pixmap None + rightMargin HorizontalMargins Dimension 4 + sensitive Sensitive Boolean True + vertSpace VertSpace int 25 + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _SmeBSBClassRec *SmeBSBObjectClass; +typedef struct _SmeBSBRec *SmeBSBObject; + +extern WidgetClass smeBSBObjectClass; + +#define XtNleftBitmap "leftBitmap" +#define XtNleftMargin "leftMargin" +#define XtNrightBitmap "rightBitmap" +#define XtNrightMargin "rightMargin" +#define XtNvertSpace "vertSpace" + +#define XtNmenuName "menuName" +#define XtCMenuName "MenuName" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +#define XtCLeftBitmap "LeftBitmap" +#define XtCHorizontalMargins "HorizontalMargins" +#define XtCRightBitmap "RightBitmap" +#define XtCVertSpace "VertSpace" + +#endif /* _SmeBSB_h */ diff --git a/X11/Xaw/SmeBSBP.h b/X11/Xaw/SmeBSBP.h new file mode 100644 index 000000000..6b263e7a8 --- /dev/null +++ b/X11/Xaw/SmeBSBP.h @@ -0,0 +1,94 @@ +/* + * $Xorg: SmeBSBP.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 1989, 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. + * + * Author: Chris D. Peterson, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/SmeBSBP.h,v 1.8 2001/01/17 19:42:31 dawes Exp $ */ + +#ifndef _XawSmeBSBP_h +#define _XawSmeBSBP_h + +/* + * Sme Object Private Data + */ +#include <X11/Xaw/SmeP.h> +#include <X11/Xaw/SmeBSB.h> + +typedef struct _SmeBSBClassPart { + XtPointer extension; +} SmeBSBClassPart; + +/* Full class record declaration */ +typedef struct _SmeBSBClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; + SmeBSBClassPart sme_bsb_class; +} SmeBSBClassRec; + +extern SmeBSBClassRec smeBSBClassRec; + +/* New fields for the Sme Object record */ +typedef struct { + /* resources */ + String label; /* The entry label */ + int vert_space; /* extra vert space to leave, as a + percentage of the font height of + the label */ + Pixmap left_bitmap, right_bitmap; /* bitmaps to show */ + Dimension left_margin, right_margin;/* left and right margins */ + Pixel foreground; /* foreground color */ + XFontStruct *font; /* The font to show label in */ + XFontSet fontset; /* or fontset */ + XtJustify justify; /* Justification for the label. */ + + /* private */ + Boolean set_values_area_cleared; /* do we need to unhighlight? */ + GC norm_gc; /* noral color gc */ + GC rev_gc; /* reverse color gc */ + GC norm_gray_gc; /* Normal color (grayed out) gc */ + GC invert_gc; /* gc for flipping colors */ + Dimension left_bitmap_width; /* size of each bitmap */ + Dimension left_bitmap_height; + Dimension right_bitmap_width; + Dimension right_bitmap_height; + +#ifndef OLDXAW + /* new resources */ + String menu_name; /* name of nested sub menu or NULL */ + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmeBSBPart; + +/* + * Full instance record declaration + */ +typedef struct _SmeBSBRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; + SmeBSBPart sme_bsb; +} SmeBSBRec; + +#endif /* _XawSmeBSBP_h */ diff --git a/X11/Xaw/SmeLine.h b/X11/Xaw/SmeLine.h new file mode 100644 index 000000000..7c9d4e41a --- /dev/null +++ b/X11/Xaw/SmeLine.h @@ -0,0 +1,71 @@ +/* + * $Xorg: SmeLine.h,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ + * +Copyright 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/Xaw/SmeLine.h,v 1.5 2001/01/17 19:42:31 dawes Exp $ */ + +/* + * This is the public header file for the Athena SmeLine object. + * It is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SmeLine_h +#define _SmeLine_h + +#include <X11/Xaw/Sme.h> +#include <X11/Xmu/Converters.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Pointer NULL + destroyCallback Callback Pointer NULL + height Height Dimension 0 + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCLineWidth "LineWidth" +#define XtCStipple "Stipple" + +#define XtNlineWidth "lineWidth" +#define XtNstipple "stipple" + +typedef struct _SmeLineClassRec *SmeLineObjectClass; +typedef struct _SmeLineRec *SmeLineObject; + +extern WidgetClass smeLineObjectClass; + +#endif /* _SmeLine_h */ diff --git a/X11/Xaw/SmeLineP.h b/X11/Xaw/SmeLineP.h new file mode 100644 index 000000000..7102d03f9 --- /dev/null +++ b/X11/Xaw/SmeLineP.h @@ -0,0 +1,75 @@ +/* + * $Xorg: SmeLineP.h,v 1.4 2001/02/09 02:03:46 xorgcvs Exp $ + * +Copyright 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. + * + * Author: Chris D. Peterson, MIT X Consortium + */ +/* $XFree86: xc/lib/Xaw/SmeLineP.h,v 1.7 2001/01/17 19:42:31 dawes Exp $ */ + +#ifndef _XawSmeLineP_h +#define _XawSmeLineP_h + +/* + * SmeLine Widget Private Data + */ +#include <X11/Xaw/SmeP.h> +#include <X11/Xaw/SmeLine.h> + +/* New fields for the SmeLine widget class */ +typedef struct _SmeLineClassPart { + XtPointer extension; +} SmeLineClassPart; + +/* Full class record */ +typedef struct _SmeLineClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; + SmeLineClassPart sme_line_class; +} SmeLineClassRec; + +extern SmeLineClassRec smeLineClassRec; + +/* New fields for the SmeLine widget */ +typedef struct { + /* resources */ + Pixel foreground; /* Foreground color */ + Pixmap stipple; /* Line Stipple */ + Dimension line_width; /* Width of the line */ + + /* private */ + GC gc; /* Graphics context for drawing line */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmeLinePart; + +/* Full instance record */ +typedef struct _SmeLineRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; + SmeLinePart sme_line; +} SmeLineRec; + +#endif /* _XawSmeLineP_h */ diff --git a/X11/Xaw/SmeP.h b/X11/Xaw/SmeP.h new file mode 100644 index 000000000..94342fffd --- /dev/null +++ b/X11/Xaw/SmeP.h @@ -0,0 +1,90 @@ +/* + * $Xorg: SmeP.h,v 1.4 2001/02/09 02:03:46 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/SmeP.h,v 1.8 2001/12/14 19:54:43 dawes Exp $ */ + +/* + * This is the private header file for the Athena Sme object. + * This object is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawSmeP_h +#define _XawSmeP_h + +/* + * Sme Widget Private Data + */ +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Sme.h> + +_XFUNCPROTOBEGIN + +/* New fields for the Sme widget class */ +typedef struct _SmeClassPart { + XtWidgetProc highlight; + XtWidgetProc unhighlight; + XtWidgetProc notify; + XtPointer extension; +} SmeClassPart; + +/* Full class record */ +typedef struct _SmeClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; +} SmeClassRec; + +extern SmeClassRec smeClassRec; + +/* New fields for the Sme widget */ +typedef struct { + /* resources */ + XtCallbackList callbacks; + Boolean international; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmePart; + +/* Full instance record */ +typedef struct _SmeRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; +} SmeRec; + +#define XtInheritHighlight ((XtWidgetProc)_XtInherit) +#define XtInheritUnhighlight XtInheritHighlight +#define XtInheritNotify XtInheritHighlight + +_XFUNCPROTOEND + +#endif /* _XawSmeP_h */ diff --git a/X11/Xaw/StripCharP.h b/X11/Xaw/StripCharP.h new file mode 100644 index 000000000..50ed74c98 --- /dev/null +++ b/X11/Xaw/StripCharP.h @@ -0,0 +1,110 @@ +/* +* $Xorg: StripCharP.h,v 1.4 2001/02/09 02:03:46 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/Xaw/StripCharP.h,v 1.7 2001/01/17 19:42:32 dawes Exp $ */ + +#ifndef _XawStripChartP_h +#define _XawStripChartP_h + +#include <X11/Xaw/StripChart.h> +#include <X11/Xaw/SimpleP.h> + +#define NO_GCS 0 +#define FOREGROUND (1 << 0) +#define HIGHLIGHT (1 << 1) +#define ALL_GCS (FOREGROUND | HIGHLIGHT) + +/* new fields for the stripChart widget */ +typedef struct { + /* resources */ + Pixel fgpixel; /* color index for graph */ + Pixel hipixel; /* color index for lines */ + GC fgGC; /* graphics context for fgpixel */ + GC hiGC; /* graphics context for hipixel */ + + /* private */ + int update; /* update frequence */ + int scale; /* scale factor */ + int min_scale; /* smallest scale factor */ + int interval; /* data point interval */ + XPoint *points; /* Poly point for repairing graph lines */ + double max_value; /* Max Value in window */ + double valuedata[2048]; /* record of data points */ + XtIntervalId interval_id; + XtCallbackList get_value; /* proc to call to fetch load pt */ + int jump_val; /* Amount to jump on each scroll */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} StripChartPart; + +/* instance record declaration */ +typedef struct _StripChartRec { + CorePart core; + SimplePart simple; + StripChartPart strip_chart; +} StripChartRec; + +/* new fields for the StripChart widget class record */ +typedef struct { + XtPointer extension; +} StripChartClassPart; + +/* class record declaration */ +typedef struct _StripChartClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + StripChartClassPart strip_chart_class; +} StripChartClassRec; + +extern StripChartClassRec stripChartClassRec; + +#endif /* _XawStripChartP_h */ diff --git a/X11/Xaw/StripChart.h b/X11/Xaw/StripChart.h new file mode 100644 index 000000000..b6c6f212a --- /dev/null +++ b/X11/Xaw/StripChart.h @@ -0,0 +1,119 @@ +/* $Xorg: StripChart.h,v 1.5 2001/02/09 02:03:46 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/Xaw/StripChart.h,v 1.5 2001/01/17 19:42:32 dawes Exp $ */ + +#ifndef _XawStripChart_h +#define _XawStripChart_h + +#include <X11/Intrinsic.h> + +/*********************************************************************** + * + * StripChart Widget + * + ***********************************************************************/ + +/* StripChart resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + colormap Colormap Colormap parent's colormap + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + foreground Foreground Pixel XtDefaultForeground + getValue Callback XtCallbackList NULL + height Height Dimension 120 + highlight Foreground Pixel XtDefaultForeground + insensitiveBorder Insensitive Pixmap GreyPixmap + jumpScroll JumpScroll int 1/2 width + mappedWhenManaged MappedWhenManaged Boolean True + minScale Scale int 1 + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + screen Screen Screen parent's screen + sensitive Sensitive Boolean True + translations Translations TranslationTable NULL + update Interval int 10 (seconds) + width Width Dimension 120 + x Position Position 0 + y Position Position 0 + +*/ + +#define DEFAULT_JUMP -1 + +#ifndef _XtStringDefs_h_ +#define XtNhighlight "highlight" +#define XtNupdate "update" +#endif + +#define XtCJumpScroll "JumpScroll" +#define XtCScale "Scale" + +#define XtNgetValue "getValue" +#define XtNjumpScroll "jumpScroll" +#define XtNminScale "minScale" +#define XtNscale "scale" +#define XtNvmunix "vmunix" + +typedef struct _StripChartRec *StripChartWidget; +typedef struct _StripChartClassRec *StripChartWidgetClass; + +extern WidgetClass stripChartWidgetClass; + +#endif /* _XawStripChart_h */ diff --git a/X11/Xaw/Template.c b/X11/Xaw/Template.c new file mode 100644 index 000000000..9c3763b52 --- /dev/null +++ b/X11/Xaw/Template.c @@ -0,0 +1,198 @@ +/* $Xorg: Template.c,v 1.4 2001/02/09 02:03:46 xorgcvs Exp $ */ + +/* + +Copyright 1987, 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/Xaw/Template.c,v 1.8 2001/08/01 00:44:39 tsi Exp $ */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +#include <X11/IntrinsicP.h> +#include <X11/StringDefs.h> +#include <X11/Xaw/TemplateP.h> + +/* + * Class Methods + */ +static void TemplateInitialize(Widget, Widget, ArgList, Cardinal*); + +/* + * Prototypes + */ +static Bool TemplateFunction(TemplateWidget, int, int, Bool); + +/* + * Actions + */ +static void TemplateAction(Widget, XEvent*, String*, Cardinal*); + +/* + * Initialization + */ +#define offset(field) XtOffsetOf(TemplateRec, template.field) +static XtResource resources[] = { +/*{ + name, + class, + type, + size, + offset, + default_type, + default_addr + },*/ + { + XtNtemplateResource, + XtCTemplateResource, + XtRTemplateResource, + sizeof(char*), + offset(resource), + XtRString, + (XtPointer)"default" + }, +}; +#undef offset + +static XtActionsRec actions[] = +{ + /*{name, procedure},*/ + {"template", TemplateAction}, +}; + +static char translations[] = +"<Key>:" "template()\n" +; + +#define Superclass (&widgetClassRec) +TemplateClassRec templateClassRec = { + /* core */ + { + (WidgetClass)Superclass, /* superclass */ + "Template", /* class_name */ + sizeof(TemplateRec), /* widget_size */ + NULL, /* class_initialize */ + NULL, /* class_part_initialize */ + False, /* class_inited */ + TemplateInitialize, /* initialize */ + NULL, /* initialize_hook */ + XtInheritRealize, /* realize */ + actions, /* actions */ + XtNumber(actions), /* num_actions */ + resources, /* resources */ + XtNumber(resources), /* num_resources */ + NULLQUARK, /* xrm_class */ + True, /* compress_motion */ + True, /* compress_exposure */ + True, /* compress_enterleave */ + False, /* visible_interest */ + NULL, /* destroy */ + NULL, /* resize */ + NULL, /* expose */ + NULL, /* set_values */ + NULL, /* set_values_hook */ + XtInheritSetValuesAlmost, /* set_values_almost */ + NULL, /* get_values_hook */ + NULL, /* accept_focus */ + XtVersion, /* version */ + NULL, /* callback_private */ + translations, /* tm_table */ + XtInheritQueryGeometry, /* query_geometry */ + XtInheritDisplayAccelerator, /* display_accelerator */ + NULL, /* extension */ + }, + /* template */ + { + NULL, /* extension */ + } +}; + +WidgetClass templateWidgetClass = (WidgetClass)&templateClassRec; + +/* + * Implementation + */ +/* + * Function: + * TemplateInitialize + * + * Parameters: + * request - requested widget + * w - the widget + * args - arguments + * num_args - number of arguments + * + * Description: + * Initializes widget instance. + */ +/*ARGSUSED*/ +static void +TemplateInitialize(Widget request, Widget w, ArgList args, Cardinal *num_args) +{ + TemplateWidget tw = (TemplateWidget)w; + + tw->template.private = NULL; +} + +/* + * Function: + * TemplateFunction + * + * Parameters: + * tw - template widget + * x - x coordinate + * y - y coordinate + * force - force action + * + * Description: + * This function does nothing. + * + * Return: + * Parameter force + */ +/*ARGSUSED*/ +static Bool +TemplateFunction(TemplateWidget tw, int x, int y, Bool force) +{ + return (force); +} + +/* + * Function: + * TemplateAction + * + * Parameters: + * w - template widget + * event - event that caused this action + * params - parameters + * num_params - number of parameters + * + * Description: + * This function does nothing. + */ +/*ARGSUSED*/ +static void +TemplateAction(Widget w, XEvent *event, String *params, Cardinal *num_params) +{ +} diff --git a/X11/Xaw/Template.h b/X11/Xaw/Template.h new file mode 100644 index 000000000..5ec0974cf --- /dev/null +++ b/X11/Xaw/Template.h @@ -0,0 +1,70 @@ +/* $Xorg: Template.h,v 1.5 2001/02/09 02:03:46 xorgcvs Exp $ */ + +/* + +Copyright 1987, 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/Xaw/Template.h,v 1.5 2001/01/17 19:42:32 dawes Exp $ */ + +#ifndef _Template_h +#define _Template_h + +#include <X11/Intrinsic.h> + +/**************************************************************** + * + * Template widget + * + ****************************************************************/ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +/* define any special resource names here that are not in <X11/StringDefs.h> */ +#define XtNtemplateResource "templateResource" + +#define XtCTemplateResource "TemplateResource" + +/* declare specific TemplateWidget class and instance datatypes */ +typedef struct _TemplateClassRec *TemplateWidgetClass; +typedef struct _TemplateRec *TemplateWidget; + +/* declare the class constant */ +extern WidgetClass templateWidgetClass; + +#endif /* _Template_h */ diff --git a/X11/Xaw/TemplateP.h b/X11/Xaw/TemplateP.h new file mode 100644 index 000000000..f3e3d67d5 --- /dev/null +++ b/X11/Xaw/TemplateP.h @@ -0,0 +1,68 @@ +/* $Xorg: TemplateP.h,v 1.5 2001/02/09 02:03:46 xorgcvs Exp $ */ + +/* + +Copyright 1987, 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/Xaw/TemplateP.h,v 1.6 2001/01/17 19:42:32 dawes Exp $ */ + +#ifndef _TemplateP_h +#define _TemplateP_h + +#include <X11/Xaw/Template.h> + +/* include superclass private header file */ +#include <X11/CoreP.h> + +/* define unique representation types not found in <X11/StringDefs.h> */ +#define XtRTemplateResource "TemplateResource" + +typedef struct { + XtPointer extension; +} TemplateClassPart; + +typedef struct _TemplateClassRec { + CoreClassPart core_class; + TemplateClassPart template_class; +} TemplateClassRec; + +extern TemplateClassRec templateClassRec; + +typedef struct { + /* resources */ + char* resource; + /* private */ + char *private; +} TemplatePart; + +typedef struct _TemplateRec { + CorePart core; +#if defined(__cplusplus) || defined(c_plusplus) + TemplatePart c_template; +#else + TemplatePart template; +#endif +} TemplateRec; + +#endif /* _TemplateP_h */ diff --git a/X11/Xaw/Text.h b/X11/Xaw/Text.h new file mode 100644 index 000000000..af80ffcdb --- /dev/null +++ b/X11/Xaw/Text.h @@ -0,0 +1,373 @@ +/* $Xorg: Text.h,v 1.4 2001/02/09 02:03:46 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/Xaw/Text.h,v 1.14 2001/01/17 19:42:34 dawes Exp $ */ + +#ifndef _XawText_h +#define _XawText_h + +#include <X11/Xaw/Simple.h> + +/* + + Class: textWidgetClass + Class Name: Text + Superclass: Simple + + Resources added by the Text widget: + + Name Class RepType Default Value + ---- ----- ------- ------------- + autoFill AutoFill Boolean False + bottomMargin Margin Position 2 + displayPosition TextPosition XawTextPosition 0 + insertPosition TextPosition XawTextPosition 0 + justify JustifyMode JustifyMode left + leftColumn Column Column 0 + rightColumn Column Column 0 + leftMargin Margin Position 2 + rightMargin Margin Position 4 + positionCallback Callback Callback NULL + scrollHorizontal Scroll Boolean False + scrollVertical Scroll Boolean False + selectTypes SelectTypes Pointer see documentation + textSink TextSink Widget NULL + textSource TextSource Widget NULL + topMargin Margin Position 2 + unrealizeCallback Callback Callback NULL + wrap Wrap XawTextWrapMode XawTextWrapNever + +*/ + +typedef long XawTextPosition; + +#ifndef notdef +typedef enum { + XawtextScrollNever, + XawtextScrollWhenNeeded, + XawtextScrollAlways +} XawTextScrollMode; + +typedef enum { + XawtextResizeNever, + XawtextResizeWidth, + XawtextResizeHeight, + XawtextResizeBoth +} XawTextResizeMode; +#endif + +typedef enum { + XawtextWrapNever, + XawtextWrapLine, + XawtextWrapWord +} XawTextWrapMode; + +typedef enum { + XawsdLeft, + XawsdRight +} XawTextScanDirection; + +typedef enum { + XawtextRead, + XawtextAppend, + XawtextEdit +} XawTextEditType; + +typedef enum { + XawselectNull, + XawselectPosition, + XawselectChar, + XawselectWord, + XawselectLine, + XawselectParagraph, + XawselectAll, + XawselectAlphaNumeric +} XawTextSelectType; + +typedef enum { + XawjustifyLeft, + XawjustifyRight, + XawjustifyCenter, + XawjustifyFull +} XawTextJustifyMode; + +typedef struct { + int firstPos; + int length; + char *ptr; + unsigned long format; +} XawTextBlock, *XawTextBlockPtr; + +#ifndef OLDXAW +typedef struct { + int line_number; + int column_number; + XawTextPosition insert_position; + XawTextPosition last_position; + Boolean overwrite_mode; +} XawTextPositionInfo; + +typedef struct { + XawTextPosition left, right; + XawTextBlock *block; +} XawTextPropertyInfo; + +typedef struct _XawTextAnchor XawTextAnchor; +typedef struct _XawTextEntity XawTextEntity; +typedef struct _XawTextProperty XawTextProperty; +typedef struct _XawTextPropertyList XawTextPropertyList; +#endif + +#include <X11/Xaw/TextSink.h> +#include <X11/Xaw/TextSrc.h> + +#define XtEtextScrollNever "never" +#define XtEtextScrollWhenNeeded "whenneeded" +#define XtEtextScrollAlways "always" +#define XtEtextResizeNever "never" +#define XtEtextResizeWidth "width" +#define XtEtextResizeHeight "height" +#define XtEtextResizeBoth "both" + +#define XtEtextWrapNever "never" +#define XtEtextWrapLine "line" +#define XtEtextWrapWord "word" + +#define XtNautoFill "autoFill" +#define XtNbottomMargin "bottomMargin" +#define XtNdialogHOffset "dialogHOffset" +#define XtNdialogVOffset "dialogVOffset" +#define XtNdisplayCaret "displayCaret" +#define XtNdisplayPosition "displayPosition" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" +#define XtNpositionCallback "positionCallback" +#define XtNscrollVertical "scrollVertical" +#define XtNscrollHorizontal "scrollHorizontal" +#define XtNselectTypes "selectTypes" +#define XtNtopMargin "topMargin" +#define XtNwrap "wrap" + +#define XtCColumn "Column" +#define XtNleftColumn "leftColumn" +#define XtNrightColumn "rightColumn" + +#define XtCJustifyMode XtCJustify +#define XtNjustifyMode XtNjustify +#define XtEtextJustifyLeft "left" +#define XtEtextJustifyRight "right" +#define XtEtextJustifyCenter "center" +#define XtEtextJustifyFull "full" + +#define XtCAutoFill "AutoFill" +#define XtCSelectTypes "SelectTypes" +#define XtCWrap "Wrap" +#ifndef notdef +#define XtCScroll "Scroll" +#endif + +#ifndef _XtStringDefs_h_ +#define XtNinsertPosition "insertPosition" +#ifndef notdef +#define XtNresize "resize" +#define XtCResize "Resize" +#endif +#define XtNselection "selection" +#endif + +/* return Error code for XawTextSearch */ +#define XawTextSearchError (-12345L) + +/* return codes from XawTextReplace */ +#define XawReplaceError -1 +#define XawEditDone 0 +#define XawEditError 1 +#define XawPositionError 2 + +/* XrmQuark is not unsigned long */ +#define XawTextFormat(tw,fmt) ((unsigned long)_XawTextFormat(tw) == (fmt)) + +extern unsigned long FMT8BIT; +extern unsigned long XawFmt8Bit; +extern unsigned long XawFmtWide; + +extern WidgetClass textWidgetClass; + +typedef struct _TextClassRec *TextWidgetClass; +typedef struct _TextRec *TextWidget; + +_XFUNCPROTOBEGIN + +XrmQuark _XawTextFormat +( + TextWidget tw + ); + +void XawTextDisplay +( + Widget w + ); + +void XawTextEnableRedisplay +( + Widget w + ); + +void XawTextDisableRedisplay +( + Widget w + ); + +void XawTextSetSelectionArray +( + Widget w, + XawTextSelectType *sarray + ); + +void XawTextGetSelectionPos +( + Widget w, + XawTextPosition *begin_return, + XawTextPosition *end_return + ); + +void XawTextSetSource +( + Widget w, + Widget source, + XawTextPosition top + ); + +int XawTextReplace +( + Widget w, + XawTextPosition start, + XawTextPosition end, + XawTextBlock *text + ); + +XawTextPosition XawTextTopPosition +( + Widget w + ); + +XawTextPosition XawTextLastPosition +( + Widget w + ); + +void XawTextSetInsertionPoint +( + Widget w, + XawTextPosition position + ); + +XawTextPosition XawTextGetInsertionPoint +( + Widget w + ); + +void XawTextUnsetSelection +( + Widget w + ); + +void XawTextSetSelection +( + Widget w, + XawTextPosition left, + XawTextPosition right + ); + +void XawTextInvalidate +( + Widget w, + XawTextPosition from, + XawTextPosition to +); + +Widget XawTextGetSource +( + Widget w + ); + +Widget XawTextGetSink +( + Widget w + ); + +XawTextPosition XawTextSearch +( + Widget w, +#if NeedWidePrototypes + int dir, +#else + XawTextScanDirection dir, +#endif + XawTextBlock *text + ); + +void XawTextDisplayCaret +( + Widget w, +#if NeedWidePrototypes + int visible +#else + Boolean visible +#endif + ); + +_XFUNCPROTOEND + +/* + * For R3 compatability only + */ +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/AsciiSink.h> + +#endif /* _XawText_h */ diff --git a/X11/Xaw/TextP.h b/X11/Xaw/TextP.h new file mode 100644 index 000000000..d058e8bd3 --- /dev/null +++ b/X11/Xaw/TextP.h @@ -0,0 +1,323 @@ +/* +* $Xorg: TextP.h,v 1.4 2001/02/09 02:03:46 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/Xaw/TextP.h,v 3.21 2001/12/14 19:54:44 dawes Exp $ */ + +#ifndef _XawTextP_h +#define _XawTextP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Text.h> +#include <X11/Xaw/SimpleP.h> + +_XFUNCPROTOBEGIN + +#define MAXCUT 30000 /* Maximum number of characters that can be cut */ + +#define XawTextGetLastPosition(ctx) \ + XawTextSourceScan((ctx)->text.source, 0, \ + XawstAll, XawsdRight, 1, True) +#define GETLASTPOS XawTextGetLastPosition(ctx) + +#define zeroPosition ((XawTextPosition)0) + +extern XtActionsRec _XawTextActionsTable[]; +extern Cardinal _XawTextActionsTableCount; + +extern char _XawDefaultTextTranslations[]; + +#define XawLF 0x0a +#define XawCR 0x0d +#define XawTAB 0x09 +#define XawBS 0x08 +#define XawSP 0x20 +#define XawDEL 0x7f +#define XawESC 0x1b +#define XawBSLASH '\\' + +/* constants that subclasses may want to know */ +#define DEFAULT_TEXT_HEIGHT ((Dimension)~0) +#define DEFAULT_TAB_SIZE 8 + +/* displayable text management data structures */ +typedef struct { + XawTextPosition position; + Position y; +#ifndef OLDXAW + unsigned int textWidth; +#else + Dimension textWidth; +#endif +} XawTextLineTableEntry, *XawTextLineTableEntryPtr; + +typedef struct { + XawTextPosition left, right; + XawTextSelectType type; + Atom *selections; + int atom_count; + int array_size; +} XawTextSelection; + +typedef struct _XawTextSelectionSalt { + struct _XawTextSelectionSalt *next; + XawTextSelection s; + /* + * The element "contents" stores the CT string which is gotten in the + * function _XawTextSaltAwaySelection() + */ + char *contents; + int length; +} XawTextSelectionSalt; + +#ifndef OLDXAW +typedef struct _XawTextKillRing { + struct _XawTextKillRing *next; + char *contents; + int length; + unsigned refcount; + unsigned long format; +} XawTextKillRing; + +extern XawTextKillRing *xaw_text_kill_ring; +#endif + +/* Line Tables are n+1 long - last position displayed is in last lt entry */ +typedef struct { + XawTextPosition top; /* Top of the displayed text */ + int lines; /* How many lines in this table */ +#ifndef OLDXAW + int base_line; /* line number of first entry */ +#endif + XawTextLineTableEntry *info; /* A dynamic array, one entry per line */ +} XawTextLineTable, *XawTextLineTablePtr; + +typedef struct _XawTextMargin { + Position left, right, top, bottom; +} XawTextMargin; + +typedef struct _XmuScanline XmuTextUpdate; + +#define VMargins(ctx) ((ctx)->text.margin.top + (ctx)->text.margin.bottom) +#define HMargins(ctx) ((ctx)->text.left_margin + (ctx)->text.margin.right) +#define RVMargins(ctx) ((ctx)->text.r_margin.top + (ctx)->text.r_margin.bottom) +#define RHMargins(ctx) ((ctx)->text.r_margin.left + (ctx)->text.r_margin.right) + +#define IsPositionVisible(ctx, pos) \ +(pos >= ctx->text.lt.info[0].position && \ + pos < ctx->text.lt.info[ctx->text.lt.lines].position) + +/* + * Search & Replace data structure + */ +struct SearchAndReplace { + Boolean selection_changed; /* flag so that the selection cannot be + changed out from underneath query-replace.*/ + Widget search_popup; /* The poppup widget that allows searches.*/ + Widget label1; /* The label widgets for the search window. */ + Widget label2; + Widget left_toggle; /* The left search toggle radioGroup. */ + Widget right_toggle; /* The right search toggle radioGroup. */ + Widget rep_label; /* The Replace label string. */ + Widget rep_text; /* The Replace text field. */ + Widget search_text; /* The Search text field. */ + Widget rep_one; /* The Replace one button. */ + Widget rep_all; /* The Replace all button. */ +#ifndef OLDXAW + Widget case_sensitive; /* The "Case Sensitive" toggle */ +#endif +}; + +/* New fields for the Text widget class record */ +typedef struct { + XtPointer extension; +} TextClassPart; + +/* Full class record declaration */ +typedef struct _TextClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; +} TextClassRec; + +extern TextClassRec textClassRec; + +/* New fields for the Text widget record */ +typedef struct _TextPart { + /* resources */ + Widget source, sink; + XawTextPosition insertPos; + XawTextSelection s; + XawTextSelectType *sarray; /* Array to cycle for selections */ + XawTextSelectionSalt *salt; /* salted away selections */ + int left_margin; + int dialog_horiz_offset, dialog_vert_offset; /* position for popup dialog */ + Boolean display_caret; /* insertion pt visible iff T */ + Boolean auto_fill; /* Auto fill mode? */ + XawTextScrollMode scroll_vert, scroll_horiz; + XawTextWrapMode wrap; /* The type of wrapping */ + XawTextResizeMode resize; + XawTextMargin r_margin; /* The real margins */ +#ifndef OLDXAW + XtCallbackList position_callbacks; +#else + XtPointer pad1; +#endif + + /* private state */ + XawTextMargin margin; /* The current margins */ + XawTextLineTable lt; + XawTextScanDirection extendDir; + XawTextSelection origSel; /* the selection being modified */ + Time lasttime; /* timestamp of last processed action */ + Time time; /* time of last key or button action */ + Position ev_x, ev_y; /* x, y coords for key or button action */ + Widget vbar, hbar; /* The scroll bars (none = NULL) */ + struct SearchAndReplace *search; /* Search and replace structure */ + Widget file_insert; /* The file insert popup widget */ + XmuTextUpdate *update; /* Position intervals to update */ +#ifndef OLDXAW + int line_number; + short column_number; + unsigned char kill_ring; + Boolean selection_state; +#else + XtPointer pad2; + int pad3; +#endif + int from_left; /* Cursor position */ + XawTextPosition lastPos; /* Last position of source */ + GC gc; + Boolean showposition; /* True if we need to show the position */ + Boolean hasfocus; /* TRUE if we currently have input focus*/ + Boolean update_disabled; /* TRUE if display updating turned off */ + Boolean clear_to_eol; /* Clear to eol when painting text? */ + XawTextPosition old_insert; /* Last insertPos for batched updates */ + short mult; /* Multiplier */ +#ifndef OLDXAW + XawTextKillRing *kill_ring_ptr; +#else + XtPointer pad4; +#endif + + /* private state, shared w/Source and Sink */ + Boolean redisplay_needed; /* in SetValues */ + XawTextSelectionSalt *salt2; /* salted away selections */ + +#ifndef OLDXAW + char numeric; + char source_changed; + Boolean overwrite; /* Overwrite mode */ + + /* new resources and states, for text edition + * Note: a fixed width font is required for these resources/states. + */ + short left_column, right_column; + XawTextJustifyMode justify; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TextPart; + +#define XtRWrapMode "WrapMode" +#define XtRScrollMode "ScrollMode" +#define XtRResizeMode "ResizeMode" +#define XtRJustifyMode "JustifyMode" + +/* full instance record */ +typedef struct _TextRec { + CorePart core; + SimplePart simple; + TextPart text; +} TextRec; + +/* + * Semi-private functions + * for use by other Xaw modules only + */ +void _XawTextBuildLineTable +( + TextWidget ctx, + XawTextPosition top_pos, + _XtBoolean force_rebuild + ); + +char *_XawTextGetSTRING +( + TextWidget ctx, + XawTextPosition left, + XawTextPosition right + ); + +void _XawTextSaltAwaySelection +( + TextWidget ctx, + Atom *selections, + int num_atoms + ); + +void _XawTextPosToXY +( + Widget w, + XawTextPosition pos, + Position *x, + Position *y + ); + +void _XawTextNeedsUpdating +( + TextWidget ctx, + XawTextPosition left, + XawTextPosition right + ); + +_XFUNCPROTOEND + +#endif /* _XawTextP_h */ diff --git a/X11/Xaw/TextSink.h b/X11/Xaw/TextSink.h new file mode 100644 index 000000000..291b9600d --- /dev/null +++ b/X11/Xaw/TextSink.h @@ -0,0 +1,364 @@ +/* + * $Xorg: TextSink.h,v 1.4 2001/02/09 02:03:46 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/Xaw/TextSink.h,v 1.9 2001/01/17 19:42:35 dawes Exp $ */ + +#ifndef _XawTextSink_h +#define _XawTextSink_h + +#include <X11/Xaw/Text.h> + +/*********************************************************************** + * + * TextSink Object + * + ***********************************************************************/ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + font Font XFontStruct * XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + background Background Pixel XtDefaultBackground + cursorColor Color Pixel XtDefaultForeground +*/ + +/* Class record constants */ + +extern WidgetClass textSinkObjectClass; + +typedef struct _TextSinkClassRec *TextSinkObjectClass; +typedef struct _TextSinkRec *TextSinkObject; + +typedef enum {XawisOn, XawisOff} XawTextInsertState; + +#ifndef OLDXAW +#ifndef XtNcursorColor +#define XtNcursorColor "cursorColor" +#endif + +#define XawNtextProperties "textProperties" +#define XawCTextProperties "TextProperties" +#define XawRTextProperties "XawTextProperties" +#endif + +/* + * Public Functions + */ +_XFUNCPROTOBEGIN + +/* + * Function: + * XawTextSinkDisplayText + * + * Parameters: + * w - the TextSink Object + * x - location to start drawing text + * y - "" + * pos1 - location of starting and ending points in the text buffer + * pos2 - "" + * highlight - hightlight this text? + * + * Description: + * Stub function that in subclasses will display text. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkDisplayText +( + Widget w, +#if NeedWidePrototypes + int x, + int y, +#else + Position x, + Position y, +#endif + XawTextPosition pos1, + XawTextPosition pos2, +#if NeedWidePrototypes + int highlight +#else + Boolean highlight +#endif + ); + +/* + * Function: + * XawTextSinkInsertCursor + * + * Parameters: + * w - the TextSink Object. + * x - location for the cursor. + * y - "" + * state - whether to turn the cursor on, or off + * + * Description: + * Places the InsertCursor. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkInsertCursor +( + Widget w, +#if NeedWidePrototypes + int x, + int y, + int state +#else + Position x, + Position y, + XawTextInsertState state +#endif + ); + +/* + * Function: + * XawTextSinkClearToBackground + * + * Parameters: + * w - TextSink Object + * x - location of area to clear + * y - "" + * width - size of area to clear + * height - "" + * + * Description: + * Clears a region of the sink to the background color. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkClearToBackground +( + Widget w, +#if NeedWidePrototypes + int x, + int y, + unsigned int width, + unsigned int height +#else + Position x, + Position y, + Dimension width, + Dimension height +#endif + ); + +/* + * Function: + * XawTextSinkFindPosition + * + * Parameters: + * w - TextSink Object + * fromPos - reference position + * fromX - reference location + * width - width of section to paint text + * stopAtWordBreak - returned position is a word break? + * resPos - Position to return + * resWidth - Width actually used + * resHeight - Height actually used + * + * Description: + * Finds a position in the text. + */ +void XawTextSinkFindPosition +( + Widget w, + XawTextPosition fromPos, + int fromX, + int width, +#if NeedWidePrototypes + int stopAtWordBreak, +#else + Boolean stopAtWordBreak, +#endif + XawTextPosition* pos_return, + int *width_return, + int *height_return + ); + +/* + * Function: + * XawTextSinkFindDistance + * + * Parameters: + * w - TextSink Object + * fromPos - starting Position + * fromX - x location of starting Position + * toPos - end Position + * resWidth - Distance between fromPos and toPos + * resPos - Acutal toPos used + * resHeight - Height required by this text + * + * Description: + * Find the Pixel Distance between two text Positions. + */ +void XawTextSinkFindDistance +( + Widget w, + XawTextPosition fromPos, + int fromX, + XawTextPosition toPos, + int *width_return, + XawTextPosition *pos_return, + int *height_return + ); + +/* + * Function: + * XawTextSinkResolve + * + * Parameters: + * w - TextSink Object + * pos - reference Position + * fromx - reference Location + * width - width to move + * resPos - resulting position + * + * Description: + * Resloves a location to a position. + */ +void XawTextSinkResolve +( + Widget w, + XawTextPosition fromPos, + int fromX, + int width, + XawTextPosition *pos_return + ); + +/* + * Function: + * XawTextSinkMaxLines + * + * Parameters: + * w - TextSink Object + * height - height to fit lines into + * + * Returns: + * Number of lines that will fit + * + * Description: + * Finds the Maximum number of lines that will fit in a given height. + */ +int XawTextSinkMaxLines +( + Widget w, +#if NeedWidePrototypes + unsigned int height +#else + Dimension height +#endif + ); + +/* + * Function: + * XawTextSinkMaxHeight + * + * Parameters: + * w - TextSink Object + * lines - number of lines + * + * Returns: + * Height + * + * Description: + * Finds the Minium height that will contain a given number lines. + */ +int XawTextSinkMaxHeight +( + Widget w, + int lines +); + +/* + * Function: + * XawTextSinkSetTabs + * + * Parameters: + * w - TextSink Object + * tab_count - number of tabs in the list + * tabs - text positions of the tabs + * Description: + * Sets the Tab stops. + */ +void XawTextSinkSetTabs +( + Widget w, + int tab_count, + int *tabs +); + +/* + * Function: + * XawTextSinkGetCursorBounds + * + * Parameters: + * w - TextSink Object + * rect - X rectance containing the cursor bounds + * Description: + * Finds the bounding box for the insert curor (caret). + */ +void XawTextSinkGetCursorBounds +( + Widget w, + XRectangle *rect_return +); + +_XFUNCPROTOEND + +#endif /* _XawTextSink_h */ diff --git a/X11/Xaw/TextSinkP.h b/X11/Xaw/TextSinkP.h new file mode 100644 index 000000000..6cc873328 --- /dev/null +++ b/X11/Xaw/TextSinkP.h @@ -0,0 +1,306 @@ +/* +* $Xorg: TextSinkP.h,v 1.4 2001/02/09 02:03:46 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/Xaw/TextSinkP.h,v 1.11 2001/01/17 19:42:35 dawes Exp $ */ + +#ifndef _XawTextSinkP_h +#define _XawTextSinkP_h + +/* + * TextSink Object Private Data + */ +#include <X11/Xaw/TextSink.h> +#include <X11/Xaw/TextP.h> /* This sink works with the Text widget */ +#include <X11/Xaw/TextSrcP.h> /* This sink works with the Text Source */ +#include <X11/Xmu/Xmu.h> + +#ifndef OLDXAW +/* font/fontset defined? */ +#define XAW_TPROP_FONT (1<<0) +#define XAW_TPROP_FONTSET (1<<1) + +/* extra attributes */ +#define XAW_TPROP_FOREGROUND (1<<2) +#define XAW_TPROP_BACKGROUND (1<<3) +#define XAW_TPROP_FPIXMAP (1<<4) +#define XAW_TPROP_BPIXMAP (1<<5) +#define XAW_TPROP_UNDERLINE (1<<6) +#define XAW_TPROP_OVERSTRIKE (1<<7) +#define XAW_TPROP_SUBSCRIPT (1<<8) +#define XAW_TPROP_SUPERSCRIPT (1<<9) + +/* xlfd attributes */ +#define XAW_TPROP_FOUNDRY (1<<0) +#define XAW_TPROP_FAMILY (1<<1) +#define XAW_TPROP_WEIGHT (1<<2) +#define XAW_TPROP_SLANT (1<<3) +#define XAW_TPROP_SETWIDTH (1<<4) +#define XAW_TPROP_ADDSTYLE (1<<5) +#define XAW_TPROP_PIXELSIZE (1<<6) +#define XAW_TPROP_POINTSIZE (1<<7) +#define XAW_TPROP_RESX (1<<8) +#define XAW_TPROP_RESY (1<<9) +#define XAW_TPROP_SPACING (1<<10) +#define XAW_TPROP_AVGWIDTH (1<<11) +#define XAW_TPROP_REGISTRY (1<<12) +#define XAW_TPROP_ENCODING (1<<13) +struct _XawTextProperty { /* to be extended/modified */ + XrmQuark identifier, code; + unsigned long mask; + XFontStruct *font; + XFontSet fontset; + Pixel foreground, background; + Pixmap foreground_pixmap, background_pixmap; + XrmQuark xlfd; + + unsigned long xlfd_mask; + XrmQuark foundry, family, weight, slant, setwidth, addstyle, pixel_size, + point_size, res_x, res_y, spacing, avgwidth, registry, encoding; + + short underline_position, underline_thickness; +}; + +struct _XawTextPropertyList { + XrmQuark identifier; + Screen *screen; + Colormap colormap; + int depth; + XawTextProperty **properties; + Cardinal num_properties; + XawTextPropertyList *next; +}; + +typedef struct _XawTextPaintStruct XawTextPaintStruct; +struct _XawTextPaintStruct { + XawTextPaintStruct *next; + int x, y, width; + char *text; /* formatted text */ + Cardinal length; /* length of text */ + XawTextProperty *property; + int max_ascent, max_descent; + XmuArea *backtabs; + Boolean highlight; +}; + +typedef struct { + XmuArea *clip, *hightabs; /* clip list */ + XawTextPaintStruct *paint, *bearings; /* drawing information */ +} XawTextPaintList; + +typedef struct { + XtPointer next_extension; + XrmQuark record_type; + long version; + Cardinal record_size; + Bool (*BeginPaint)(Widget); + void (*PreparePaint)(Widget, int, int, + XawTextPosition, XawTextPosition, Bool); + void (*DoPaint)(Widget); + Bool (*EndPaint)(Widget); +} TextSinkExtRec, *TextSinkExt; +#endif + +typedef void (*_XawSinkDisplayTextProc) + (Widget, int, int, XawTextPosition, XawTextPosition, Bool); + +typedef void (*_XawSinkInsertCursorProc) + (Widget, int, int, XawTextInsertState); + +typedef void (*_XawSinkClearToBackgroundProc) + (Widget, int, int, unsigned int, unsigned int); + +typedef void (*_XawSinkFindPositionProc) + (Widget, XawTextPosition, int, int, Bool, XawTextPosition*, int*, int*); + +typedef void (*_XawSinkFindDistanceProc) + (Widget, XawTextPosition, int, XawTextPosition, int*, + XawTextPosition*, int*); + +typedef void (*_XawSinkResolveProc) + (Widget, XawTextPosition, int, int, XawTextPosition*); + +typedef int (*_XawSinkMaxLinesProc) + (Widget, unsigned int); + +typedef int (*_XawSinkMaxHeightProc) + (Widget, int); + +typedef void (*_XawSinkSetTabsProc) + (Widget, int, short*); + +typedef void (*_XawSinkGetCursorBoundsProc) + (Widget, XRectangle*); + +typedef struct _TextSinkClassPart { + _XawSinkDisplayTextProc DisplayText; + _XawSinkInsertCursorProc InsertCursor; + _XawSinkClearToBackgroundProc ClearToBackground; + _XawSinkFindPositionProc FindPosition; + _XawSinkFindDistanceProc FindDistance; + _XawSinkResolveProc Resolve; + _XawSinkMaxLinesProc MaxLines; + _XawSinkMaxHeightProc MaxHeight; + _XawSinkSetTabsProc SetTabs; + _XawSinkGetCursorBoundsProc GetCursorBounds; +#ifndef OLDXAW + TextSinkExt extension; +#endif +} TextSinkClassPart; + +/* Full class record */ +typedef struct _TextSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; +} TextSinkClassRec; + +extern TextSinkClassRec textSinkClassRec; + +/* New fields for the TextSink object */ +typedef struct { + /* resources */ + Pixel foreground; /* Foreground color */ + Pixel background; /* Background color */ + + /* private */ + Position *tabs; /* The tab stops as pixel values */ + short *char_tabs; /* The tabs stops as character values */ + int tab_count; /* number of items in tabs */ + +#ifndef OLDXAW + /* more resources */ + Pixel cursor_color; + XawTextPropertyList *properties; + XawTextPaintList *paint; + XtPointer pad[2]; /* for future use and keep binary compatability */ +#endif +} TextSinkPart; + +/* Full instance record */ +typedef struct _TextSinkRec { + ObjectPart object; + TextSinkPart text_sink; +} TextSinkRec; + +/* Semi private routines */ +#ifndef OLDXAW +XawTextPropertyList *XawTextSinkConvertPropertyList +( + String name, + String spec, + Screen *screen, + Colormap Colormap, + int depth + ); + +XawTextProperty *XawTextSinkGetProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkCopyProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkAddProperty +( + Widget w, + XawTextProperty *property + ); + +XawTextProperty *XawTextSinkCombineProperty +( + Widget w, + XawTextProperty *result_in_out, + XawTextProperty *property, + Bool override + ); + +Bool XawTextSinkBeginPaint +( + Widget w + ); + +void XawTextSinkPreparePaint +( + Widget w, + int y, + int line, + XawTextPosition from, + XawTextPosition to, + Bool highlight +); + +void XawTextSinkDoPaint +( + Widget w + ); + +Bool XawTextSinkEndPaint +( + Widget w + ); +#endif + +#define XtInheritDisplayText ((_XawSinkDisplayTextProc)_XtInherit) +#define XtInheritInsertCursor ((_XawSinkInsertCursorProc)_XtInherit) +#define XtInheritClearToBackground ((_XawSinkClearToBackgroundProc)_XtInherit) +#define XtInheritFindPosition ((_XawSinkFindPositionProc)_XtInherit) +#define XtInheritFindDistance ((_XawSinkFindDistanceProc)_XtInherit) +#define XtInheritResolve ((_XawSinkResolveProc)_XtInherit) +#define XtInheritMaxLines ((_XawSinkMaxLinesProc)_XtInherit) +#define XtInheritMaxHeight ((_XawSinkMaxHeightProc)_XtInherit) +#define XtInheritSetTabs ((_XawSinkSetTabsProc)_XtInherit) +#define XtInheritGetCursorBounds ((_XawSinkGetCursorBoundsProc)_XtInherit) + +#endif /* _XawTextSinkP_h */ diff --git a/X11/Xaw/TextSrc.h b/X11/Xaw/TextSrc.h new file mode 100644 index 000000000..817132d48 --- /dev/null +++ b/X11/Xaw/TextSrc.h @@ -0,0 +1,280 @@ +/* + * $Xorg: TextSrc.h,v 1.4 2001/02/09 02:03:47 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/Xaw/TextSrc.h,v 1.11 2001/01/17 19:42:35 dawes Exp $ */ + +#ifndef _XawTextSrc_h +#define _XawTextSrc_h + +#include <X11/Xaw/Text.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Callback NULL + editType EditType XawTextEditType XawtextRead + enableUndo Undo Boolean False + sourceChanged Changed Boolean False + +*/ + +/* Class record constants */ +extern WidgetClass textSrcObjectClass; + +typedef struct _TextSrcClassRec *TextSrcObjectClass; +typedef struct _TextSrcRec *TextSrcObject; + +typedef enum { + XawstPositions, + XawstWhiteSpace, + XawstEOL, + XawstParagraph, + XawstAll, + XawstAlphaNumeric + } XawTextScanType; + +typedef enum { + Normal, + Selected +} highlightType; + +typedef enum { + XawsmTextSelect, + XawsmTextExtend +} XawTextSelectionMode; + +typedef enum { + XawactionStart, + XawactionAdjust, + XawactionEnd +} XawTextSelectionAction; + +#define XawTextReadError -1 +#define XawTextScanError -1 + +#ifndef OLDXAW +#define XtNenableUndo "enableUndo" +#define XtCUndo "Undo" + +#define XtNsourceChanged "sourceChanged" +#define XtCChanged "Changed" + +#define XtNpropertyCallback "propertyCallback" +#endif + +/* + * Public Functions + */ +_XFUNCPROTOBEGIN + +/* + * Function: + * XawTextSourceRead + * + * Parameters: + * w - TextSrc Object + * pos - position of the text to retreive + * text - text block that will contain returned text + * length - maximum number of characters to read + * + * Description: + * This function reads the source. + * + * Returns: + * The number of characters read into the buffer + */ +XawTextPosition XawTextSourceRead +( + Widget w, + XawTextPosition pos, + XawTextBlock *text_return, + int length + ); + +/* + * Function: + * XawTextSourceReplace + * + * Parameters: + * src - Text Source Object + * startPos - ends of text that will be removed + * endPos - "" + * text - new text to be inserted into buffer at startPos + * + * Description: + * Replaces a block of text with new text + * + * Returns: + * XawEditError or XawEditDone + */ +int XawTextSourceReplace +( + Widget w, + XawTextPosition start, + XawTextPosition end, + XawTextBlock *text + ); + +/* + * Function: + * XawTextSourceScan + * + * Parameters: + * w - TextSrc Object + * position - position to start scanning + * type - type of thing to scan for + * dir - direction to scan + * count - which occurance if this thing to search for + * include - whether or not to include the character found in + * the position that is returned. + * + * Description: + * Scans the text source for the number and type of item specified. + * + * Returns: + * The position of the text + */ +XawTextPosition XawTextSourceScan +( + Widget w, + XawTextPosition position, +#if NeedWidePrototypes + int type, + int dir, + int count, + int include +#else + XawTextScanType type, + XawTextScanDirection dir, + int count, + Boolean include +#endif + ); + +/* + * Function: + * XawTextSourceSearch + * + * Parameters: + * w - TextSource Object + * position - position to start scanning + * dir - direction to search + * text - the text block to search for + * + * Description: + * Searchs the text source for the text block passed. + * + * Returns: + * The position of the text we are searching for or XawTextSearchError + */ +XawTextPosition XawTextSourceSearch +( + Widget w, + XawTextPosition position, +#if NeedWidePrototypes + int dir, +#else + XawTextScanDirection dir, +#endif + XawTextBlock *text + ); + +/* + * Function: + * XawTextSourceConvertSelection + * + * Parameters: + * w - TextSrc object + * selection - current selection atom + * target - current target atom + * type - type to conver the selection to + * value - return value that has been converted + * length - "" + * format - format of the returned value + * + * Returns: + * True if the selection has been converted + */ +Boolean XawTextSourceConvertSelection +( + Widget w, + Atom *selection, + Atom *target, + Atom *type, + XtPointer *value_return, + unsigned long *length_return, + int *format_return + ); + +/* + * Function: + * XawTextSourceSetSelection + * + * Parameters: + * w - TextSrc object + * left - bounds of the selection + * right - "" + * selection - selection atom + * + * Description: + * Allows special setting of the selection. + */ +void XawTextSourceSetSelection +( + Widget w, + XawTextPosition start, + XawTextPosition end, + Atom selection + ); + +_XFUNCPROTOEND + +#endif /* _XawTextSrc_h */ diff --git a/X11/Xaw/TextSrcP.h b/X11/Xaw/TextSrcP.h new file mode 100644 index 000000000..e26557b90 --- /dev/null +++ b/X11/Xaw/TextSrcP.h @@ -0,0 +1,264 @@ +/* +* $Xorg: TextSrcP.h,v 1.4 2001/02/09 02:03:47 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/Xaw/TextSrcP.h,v 1.14 2001/12/14 19:54:45 dawes Exp $ */ + +#ifndef _XawTextSrcP_h +#define _XawTextSrcP_h + +/* + * TextSrc Object Private Data + */ +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/TextSrc.h> +#include <X11/Xaw/TextP.h> /* This source works with the Text widget */ + +_XFUNCPROTOBEGIN + +#ifndef OLDXAW +struct _XawTextAnchor { + XawTextPosition position; + XawTextEntity *entities, *cache; +}; + +#define XAW_TENTF_HIDE 0x0001 +#define XAW_TENTF_READ 0x0002 +#define XAW_TENTF_REPLACE 0x0004 +struct _XawTextEntity { + short type; + short flags; + XawTextEntity *next; + XtPointer data; + XawTextPosition offset; /* from the anchor */ + Cardinal length; + XrmQuark property; +}; +#endif + +#if 0 /* no longer used */ +/* New fields for the TextSrc object class */ +typedef struct { + XtPointer next_extension; + XrmQuark record_type; + long version; + Cardinal record_size; + int (*Input)(); +} TextSrcExtRec, *TextSrcExt; +#endif + +typedef XawTextPosition (*_XawSrcReadProc) + (Widget, XawTextPosition, XawTextBlock*, int); + +typedef int (*_XawSrcReplaceProc) + (Widget, XawTextPosition, XawTextPosition, XawTextBlock*); + +typedef XawTextPosition (*_XawSrcScanProc) + (Widget, XawTextPosition, XawTextScanType, XawTextScanDirection, + int, Bool); + +typedef XawTextPosition (*_XawSrcSearchProc) + (Widget, XawTextPosition, XawTextScanDirection, XawTextBlock*); + +typedef void (*_XawSrcSetSelectionProc) + (Widget, XawTextPosition, XawTextPosition, Atom); + +typedef Boolean (*_XawSrcConvertSelectionProc) + (Widget, Atom*, Atom*, Atom*, XtPointer*, unsigned long*, int*); + +typedef struct _TextSrcClassPart { + _XawSrcReadProc Read; + _XawSrcReplaceProc Replace; + _XawSrcScanProc Scan; + _XawSrcSearchProc Search; + _XawSrcSetSelectionProc SetSelection; + _XawSrcConvertSelectionProc ConvertSelection; +#ifndef OLDXAW + XtPointer extension; +#endif +} TextSrcClassPart; + +/* Full class record */ +typedef struct _TextSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart textSrc_class; +} TextSrcClassRec; + +extern TextSrcClassRec textSrcClassRec; + +#ifndef OLDXAW +typedef struct _XawTextUndo XawTextUndo; +#endif + +/* New fields for the TextSrc object */ +typedef struct { + /* resources */ + XawTextEditType edit_mode; + XrmQuark text_format; /* 2 formats: FMT8BIT for Ascii + FMTWIDE for ISO 10646 */ +#ifndef OLDXAW + XtCallbackList callback; /* A callback list to call when the + source is changed */ + Boolean changed; + Boolean enable_undo; + + /* private state */ + Boolean undo_state; /* to protect undo manipulation */ + XawTextUndo *undo; + WidgetList text; /* TextWidget's using this source */ + Cardinal num_text; + XtCallbackList property_callback; + XawTextAnchor **anchors; + int num_anchors; + XtPointer pad[1]; /* for future use and keep binary compatability */ +#endif +} TextSrcPart; + +/* Full instance record */ +typedef struct _TextSrcRec { + ObjectPart object; + TextSrcPart textSrc; +} TextSrcRec; + +/* + * Semiprivate declarations of functions used in other modules + */ +char* _XawTextWCToMB +( + Display *display, + wchar_t *wstr, + int *len_in_out + ); + +wchar_t* _XawTextMBToWC +( + Display *display, + char *str, + int *len_in_out + ); + +#ifndef OLDXAW +XawTextAnchor *XawTextSourceAddAnchor +( + Widget source, + XawTextPosition position + ); + +XawTextAnchor *XawTextSourceFindAnchor +( + Widget source, + XawTextPosition position + ); + +XawTextAnchor *XawTextSourceNextAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +XawTextAnchor *XawTextSourcePrevAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +XawTextAnchor *XawTextSourceRemoveAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +Bool XawTextSourceAnchorAndEntity +( + Widget w, + XawTextPosition position, + XawTextAnchor **anchor_return, + XawTextEntity **entity_return + ); + +XawTextEntity *XawTextSourceAddEntity +( + Widget source, + int type, + int flags, + XtPointer data, + XawTextPosition position, + Cardinal length, + XrmQuark property + ); + +void XawTextSourceClearEntities +( + Widget w, + XawTextPosition left, + XawTextPosition right + ); +#endif + +#if 0 /* no longer used */ +typedef XawTextPosition (*_XawTextPositionFunc)(); +#endif + +#define XtInheritInput ((_XawTextPositionFunc)_XtInherit) +#define XtInheritRead ((_XawSrcReadProc)_XtInherit) +#define XtInheritReplace ((_XawSrcReplaceProc)_XtInherit) +#define XtInheritScan ((_XawSrcScanProc)_XtInherit) +#define XtInheritSearch ((_XawSrcSearchProc)_XtInherit) +#define XtInheritSetSelection ((_XawSrcSetSelectionProc)_XtInherit) +#define XtInheritConvertSelection ((_XawSrcConvertSelectionProc)_XtInherit) +#if 0 +#define XtTextSrcExtVersion 1 +#define XtTextSrcExtTypeString "XT_TEXTSRC_EXT" +#endif + +_XFUNCPROTOEND + +#endif /* _XawTextSrcP_h */ diff --git a/X11/Xaw/Tip.h b/X11/Xaw/Tip.h new file mode 100644 index 000000000..f5b8d9be5 --- /dev/null +++ b/X11/Xaw/Tip.h @@ -0,0 +1,120 @@ +/* + * Copyright (c) 1999 by The XFree86 Project, Inc. + * + * 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, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * 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 XFREE86 PROJECT 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 XFree86 Project 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 + * XFree86 Project. + * + * Author: Paulo César Pereira de Andrade + */ + +/* $XFree86$ */ + +#ifndef _XawTip_h +#define _XawTip_h + +/* + * Tip Widget + */ + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + backgroundPixmap BackgroundPixmap Pixmap XtUnspecifiedPixmap + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + bottomMargin VerticalMargins Dimension 2 + destroyCallback Callback XtCallbackList NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + leftMargin HorizontalMargins Dimension 6 + rightMargin HorizontalMargins Dimension 6 + timeout Timeout Int 500 + topMargin VerticalMargins Dimension 2 + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _TipClassRec *TipWidgetClass; +typedef struct _TipRec *TipWidget; + +extern WidgetClass tipWidgetClass; + +#define XtNbottomMargin "bottomMargin" +#define XawNdisplayList "displayList" +#define XtNencoding "encoding" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" +#define XtNtimeout "timeout" +#define XtNtopMargin "topMargin" +#define XtNtip "tip" + +#define XawCDisplayList "DisplayList" +#define XtCHorizontalMargins "HorizontalMargins" +#define XtCTimeout "Timeout" +#define XtCVerticalMargins "VerticalMargins" +#define XtCTip "Tip" + +#define XawRDisplayList "XawDisplayList" + +/* + * Public Functions + */ +/* + * Function: + * XawTipEnable + * + * Parameters: + * w - widget + * + * Description: + * Enables the tip event handler for this widget. + */ +void XawTipEnable +( + Widget w + ); + +/* + * Function: + * XawTipEnable + * + * Parameters: + * w - widget + * + * Description: + * Disables the tip event handler for this widget. + */ +void XawTipDisable +( + Widget w + ); + +#endif /* _XawTip_h */ diff --git a/X11/Xaw/TipP.h b/X11/Xaw/TipP.h new file mode 100644 index 000000000..2b9e12619 --- /dev/null +++ b/X11/Xaw/TipP.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 1999 by The XFree86 Project, Inc. + * + * 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, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * 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 XFREE86 PROJECT 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 XFree86 Project 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 + * XFree86 Project. + * + * Author: Paulo César Pereira de Andrade + */ + +/* $XFree86$ */ + +#ifndef _XawTipP_h +#define _XawTipP_h + +#include <X11/Xaw/Tip.h> +#include <X11/CoreP.h> +#include <X11/Xaw/XawInit.h> + +typedef struct { + XtPointer extension; +} TipClassPart; + +typedef struct _TipClassRec { + CoreClassPart core_class; + TipClassPart tip_class; +} TipClassRec; + +extern TipClassRec tipClassRec; + +typedef struct _TipPart { + /* resources */ + Pixel foreground; + XFontStruct *font; + XFontSet fontset; + Dimension top_margin; + Dimension bottom_margin; + Dimension left_margin; + Dimension right_margin; + int backing_store; + int timeout; + XawDisplayList *display_list; + + /* private */ + GC gc; + XtIntervalId timer; + String label; + Boolean international; + unsigned char encoding; + XtPointer pad[4]; +} TipPart; + +typedef struct _TipRec { + CorePart core; + TipPart tip; +} TipRec; + +#endif /* _XawTipP_h */ diff --git a/X11/Xaw/Toggle.h b/X11/Xaw/Toggle.h new file mode 100644 index 000000000..4858961f2 --- /dev/null +++ b/X11/Xaw/Toggle.h @@ -0,0 +1,181 @@ +/* + * $Xorg: Toggle.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ + * +Copyright 1989, 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/Xaw/Toggle.h,v 1.5 2001/01/17 19:42:35 dawes Exp $ */ + +/* + * ToggleP.h - Private definitions for Toggle widget + * + * Author: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + * + * Date: January 12, 1989 + */ + +#ifndef _XawToggle_h +#define _XawToggle_h + +#include <X11/Xaw/Command.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + radioGroup RadioGroup Widget NULL + + radioData RadioData Pointer (XPointer) Widget ++ + state State Boolean Off + + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback Pointer NULL + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStructx* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + ++ To use the toggle as a radio toggle button, set this resource to point to + any other widget in the radio group. + +++ This is the data returned from a call to XtToggleGetCurrent, by default + this is set to the name of toggle widget. + +*/ + +/* + * These should be in StringDefs.h but aren't so we will define + * them here if they are needed + */ +#define XtCWidget "Widget" +#define XtCState "State" +#define XtCRadioGroup "RadioGroup" +#define XtCRadioData "RadioData" + +#ifndef _XtStringDefs_h_ +#define XtRWidget "Widget" +#endif + +#define XtNstate "state" +#define XtNradioGroup "radioGroup" +#define XtNradioData "radioData" + +extern WidgetClass toggleWidgetClass; + +typedef struct _ToggleClassRec *ToggleWidgetClass; +typedef struct _ToggleRec *ToggleWidget; + +/* + * Public Functions + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawToggleChangeRadioGroup + * + * Parameters: + * w - toggle widget to change lists + * radio_group - any widget in the new list + * + * Description: + * Allows a toggle widget to change radio lists. + */ +void XawToggleChangeRadioGroup +( + Widget w, + Widget radio_group + ); + +/* + * Function: + * XawToggleGetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * + * Description: + * Returns the RadioData associated with the toggle + * widget that is currently active in a toggle list. + * Returns: + * The XtNradioData associated with the toggle widget + */ + +XtPointer XawToggleGetCurrent +( + Widget radio_group + ); + +/* + * Function: + * XawToggleSetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * radio_data - radio data of the toggle widget to set + * + * Description: + * Sets the Toggle widget associated with the radio_data specified. + */ +void XawToggleSetCurrent +( + Widget radio_group, + XtPointer radio_data + ); + +/* + * Function: + * XawToggleUnsetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * + * Description: + * Unsets all Toggles in the radio_group specified. + */ +void XawToggleUnsetCurrent +( + Widget radio_group + ); + +_XFUNCPROTOEND + +#endif /* _XawToggle_h */ diff --git a/X11/Xaw/ToggleP.h b/X11/Xaw/ToggleP.h new file mode 100644 index 000000000..c1477379d --- /dev/null +++ b/X11/Xaw/ToggleP.h @@ -0,0 +1,95 @@ +/* $Xorg: ToggleP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ */ + +/* + +Copyright 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/Xaw/ToggleP.h,v 1.7 2001/01/17 19:42:35 dawes Exp $ */ + +/* + * Author: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + * + * Date: January 12, 1989 + * + */ + +#ifndef _XawToggleP_h +#define _XawToggleP_h + +#include <X11/Xaw/Toggle.h> +#include <X11/Xaw/CommandP.h> + +/* + * Toggle Widget Private Data + */ +#define streq(a, b) (strcmp((a), (b)) == 0) + +typedef struct _RadioGroup { + struct _RadioGroup *prev, *next; /* Pointers to other elements in group */ + Widget widget; /* Widget corrosponding to this element */ +} RadioGroup; + +/* New fields for the Toggle widget class */ +typedef struct _ToggleClass { + XtActionProc Set; + XtActionProc Unset; + XtPointer extension; +} ToggleClassPart; + +/* class record declaration */ +typedef struct _ToggleClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + ToggleClassPart toggle_class; +} ToggleClassRec; + +extern ToggleClassRec toggleClassRec; + +/* New fields for the Toggle widget */ +typedef struct { + /* resources */ + Widget widget; + XtPointer radio_data; + + /* private */ + RadioGroup *radio_group; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TogglePart; + +/* Full widget declaration */ +typedef struct _ToggleRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + TogglePart toggle; +} ToggleRec; + +#endif /* _XawToggleP_h */ diff --git a/X11/Xaw/Tree.h b/X11/Xaw/Tree.h new file mode 100644 index 000000000..ae0990aa5 --- /dev/null +++ b/X11/Xaw/Tree.h @@ -0,0 +1,138 @@ +/* + * $Xorg: Tree.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ + * + +Copyright 1990, 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 1989 Prentice Hall + * + * Permission to use, copy, modify, and distribute this software for any + * purpose and without fee is hereby granted, provided that the above + * copyright notice appear in all copies and that both the copyright notice + * and this permission notice appear in supporting documentation. + * + * Prentice Hall and the authors disclaim all warranties with regard + * to this software, including all implied warranties of merchantability and + * fitness. In no event shall Prentice Hall or the authors be liable + * for any special, indirect or cosequential 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. + * + * Authors: Jim Fulton, MIT X Consortium, + * based on a version by Douglas Young, Prentice Hall + * + * This widget is based on the Tree widget described on pages 397-419 of + * Douglas Young's book "The X Window System, Programming and Applications + * with Xt OSF/Motif Edition." The layout code has been rewritten to use + * additional blank space to make the structure of the graph easier to see + * as well as to support vertical trees. + */ +/* $XFree86: xc/lib/Xaw/Tree.h,v 1.6 2001/01/17 19:42:35 dawes Exp $ */ + + +#ifndef _XawTree_h +#define _XawTree_h + +#include <X11/Xmu/Converters.h> + +/****************************************************************************** + * + * Tree Widget (subclass of ConstraintClass) + * + ****************************************************************************** + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * autoReconfigure AutoReconfigure Boolean FALSE + * background Background Pixel XtDefaultBackground + * foreground Foreground Pixel XtDefaultForeground + * gravity Gravity XtGravity West + * hSpace HSpace Dimension 20 + * lineWidth LineWidth Dimension 0 + * vSpace VSpace Dimension 6 + * + * + * Constraint Resources attached to children: + * + * treeGC TreeGC GC NULL + * treeParent TreeParent Widget NULL + * + * + *****************************************************************************/ + + /* new instance field names */ +#ifndef _XtStringDefs_h_ +#define XtNhSpace "hSpace" +#define XtNvSpace "vSpace" +#define XtCHSpace "HSpace" +#define XtCVSpace "VSpace" +#endif + +#define XtNautoReconfigure "autoReconfigure" +#define XtNlineWidth "lineWidth" +#define XtNtreeGC "treeGC" +#define XtNtreeParent "treeParent" +#define XtNgravity "gravity" + + /* new class field names */ +#define XtCAutoReconfigure "AutoReconfigure" +#define XtCLineWidth "LineWidth" +#define XtCTreeGC "TreeGC" +#define XtCTreeParent "TreeParent" +#define XtCGravity "Gravity" + +#define XtRGC "GC" + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif + /* external declarations */ +extern WidgetClass treeWidgetClass; + +typedef struct _TreeClassRec *TreeWidgetClass; +typedef struct _TreeRec *TreeWidget; + +_XFUNCPROTOBEGIN + +void XawTreeForceLayout +( + Widget tree + ); + +_XFUNCPROTOEND + +#endif /* _XawTree_h */ diff --git a/X11/Xaw/TreeP.h b/X11/Xaw/TreeP.h new file mode 100644 index 000000000..00e59c0a4 --- /dev/null +++ b/X11/Xaw/TreeP.h @@ -0,0 +1,141 @@ +/* + * $Xorg: TreeP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ + * + +Copyright 1990, 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 1989 Prentice Hall + * + * Permission to use, copy, modify, and distribute this software for any + * purpose and without fee is hereby granted, provided that the above + * copyright notice appear in all copies and that both the copyright notice + * and this permission notice appear in supporting documentation. + * + * Prentice Hall and the authors disclaim all warranties with regard + * to this software, including all implied warranties of merchantability and + * fitness. In no event shall Prentice Hall or the authors be liable + * for any special, indirect or cosequential 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. + * + * Authors: Jim Fulton, MIT X Consortium, + * based on a version by Douglas Young, Prentice Hall + * + * This widget is based on the Tree widget described on pages 397-419 of + * Douglas Young's book "The X Window System, Programming and Applications + * with Xt OSF/Motif Edition." The layout code has been rewritten to use + * additional blank space to make the structure of the graph easier to see + * as well as to support vertical trees. + */ +/* $XFree86: xc/lib/Xaw/TreeP.h,v 1.6 2001/01/17 19:42:35 dawes Exp $ */ + + +#ifndef _XawTreeP_h +#define _XawTreeP_h + +#include <X11/Xaw/Tree.h> + +typedef struct _TreeClassPart { + XtPointer extension; +} TreeClassPart; + +typedef struct _TreeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + TreeClassPart tree_class; +} TreeClassRec; + +extern TreeClassRec treeClassRec; + +typedef struct { + /* fields available through resources */ + Dimension hpad; /* hSpace/HSpace */ + Dimension vpad; /* vSpace/VSpace */ + Dimension line_width; /* lineWidth/LineWidth */ + Pixel foreground; /* foreground/Foreground */ + XtGravity gravity; /* gravity/Gravity */ + Boolean auto_reconfigure; /* autoReconfigure/AutoReconfigure */ + /* private fields */ + GC gc; /* used to draw lines */ + Widget tree_root; /* hidden root off all children */ + Dimension *largest; /* list of largest per depth */ + int n_largest; /* number of elements in largest */ + Dimension maxwidth, maxheight; /* for shrink wrapping */ +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TreePart; + + +typedef struct _TreeRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + TreePart tree; +} TreeRec; + + +/* + * structure attached to all children + */ +typedef struct _TreeConstraintsPart { + /* resources */ + Widget parent; /* treeParent/TreeParent */ + GC gc; /* treeGC/TreeGC */ + /* private data */ + Widget *children; + int n_children; + int max_children; + Dimension bbsubwidth, bbsubheight; /* bounding box of sub tree */ + Dimension bbwidth, bbheight; /* bounding box including node */ + Position x, y; +#ifndef OLDXAW + XtPointer pad[2]; /* leave some space for future optimizations, and + * keep binary compatability + */ +#endif +} TreeConstraintsPart; + +typedef struct _TreeConstraintsRec { + TreeConstraintsPart tree; +} TreeConstraintsRec, *TreeConstraints; + + +/* + * useful macros + */ + +#define TREE_CONSTRAINT(w) \ + ((TreeConstraints)((w)->core.constraints)) + +#define TREE_INITIAL_DEPTH 10 /* for allocating largest array */ +#define TREE_HORIZONTAL_DEFAULT_SPACING 20 +#define TREE_VERTICAL_DEFAULT_SPACING 6 + +#endif /* _XawTreeP_h */ + + + diff --git a/X11/Xaw/VendorEP.h b/X11/Xaw/VendorEP.h new file mode 100644 index 000000000..dc85b3644 --- /dev/null +++ b/X11/Xaw/VendorEP.h @@ -0,0 +1,84 @@ +/* $Xorg: VendorEP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name of OMRON not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. OMRON makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * OMRON 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 TORTUOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Seiji Kuwari OMRON Corporation + * kuwa@omron.co.jp + * kuwa%omron.co.jp@uunet.uu.net + */ + +/* + +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/Xaw/VendorEP.h,v 1.5 2001/01/17 19:42:36 dawes Exp $ */ + +#ifndef _VendorEP_h +#define _VendorEP_h + +#include <X11/Xaw/XawImP.h> + +typedef struct { + XtPointer extension; +} XawVendorShellExtClassPart; + +typedef struct _VendorShellExtClassRec { + ObjectClassPart object_class; + XawVendorShellExtClassPart vendor_shell_ext_class; +} XawVendorShellExtClassRec; + +typedef struct { + Widget parent; + XawImPart im; + XawIcPart ic; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} XawVendorShellExtPart; + +typedef struct XawVendorShellExtRec { + ObjectPart object; + XawVendorShellExtPart vendor_ext; +} XawVendorShellExtRec, *XawVendorShellExtWidget; + +#endif /* _VendorEP_h */ diff --git a/X11/Xaw/Viewport.h b/X11/Xaw/Viewport.h new file mode 100644 index 000000000..a4b678c83 --- /dev/null +++ b/X11/Xaw/Viewport.h @@ -0,0 +1,121 @@ +/* $Xorg: Viewport.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ */ + +/************************************************************ + +Copyright 1987, 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 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/Xaw/Viewport.h,v 1.6 2001/01/17 19:42:36 dawes Exp $ */ + +#ifndef _XawViewport_h +#define _XawViewport_h + +#include <X11/Xaw/Form.h> +#include <X11/Xaw/Reports.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + allowHoriz Boolean Boolean False + allowVert Boolean Boolean False + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + forceBars Boolean Boolean False + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + reportCallback ReportCallback Pointer NULL + sensitive Sensitive Boolean True + useBottom Boolean Boolean False + useRight Boolean Boolean False + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef _XtStringDefs_h_ +#define XtNforceBars "forceBars" +#define XtNallowHoriz "allowHoriz" +#define XtNallowVert "allowVert" +#define XtNuseBottom "useBottom" +#define XtNuseRight "useRight" +#endif + +extern WidgetClass viewportWidgetClass; + +typedef struct _ViewportClassRec *ViewportWidgetClass; +typedef struct _ViewportRec *ViewportWidget; + +_XFUNCPROTOBEGIN + +void XawViewportSetLocation +( + Widget gw, +#if NeedWidePrototypes + double xoff, + double yoff +#else + float xoff, + float yoff +#endif + ); + +void XawViewportSetCoordinates +( + Widget gw, +#if NeedWidePrototypes + int x, + int y +#else + Position x, + Position y +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawViewport_h */ diff --git a/X11/Xaw/ViewportP.h b/X11/Xaw/ViewportP.h new file mode 100644 index 000000000..9de6eaed8 --- /dev/null +++ b/X11/Xaw/ViewportP.h @@ -0,0 +1,109 @@ +/* + * $Xorg: ViewportP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ + * Private declarations for ViewportWidgetClass + */ + +/************************************************************ + +Copyright 1987, 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 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/Xaw/ViewportP.h,v 1.7 2001/01/17 19:42:36 dawes Exp $ */ + +#ifndef _ViewportP_h +#define _ViewportP_h + +#include <X11/Xaw/Viewport.h> +#include <X11/Xaw/FormP.h> + +typedef struct { + XtPointer extension; +} ViewportClassPart; + +typedef struct _ViewportClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; + ViewportClassPart viewport_class; +} ViewportClassRec; + +extern ViewportClassRec viewportClassRec; + +typedef struct _ViewportPart { + /* resources */ + Boolean forcebars; /* Whether we should always display + the selected scrollbars */ + Boolean allowhoriz; /* Whether we allow horizontal scrollbars */ + Boolean allowvert; /* Whether we allow vertical scrollbars */ + Boolean usebottom; /* True if horiz bars appear at bottom */ + Boolean useright; /* True if vert bars appear at right */ + XtCallbackList report_callbacks;/* when size/position changes */ + + /* private */ + Widget clip, child; /* The clipping and (scrolled) child widgets */ + Widget horiz_bar, vert_bar; /* What scrollbars we currently have */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} ViewportPart; + +typedef struct _ViewportRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; + ViewportPart viewport; +} ViewportRec; + +typedef struct { + Bool reparented; /* True if child has been re-parented */ +} ViewportConstraintsPart; + +typedef struct _ViewportConstraintsRec { + FormConstraintsPart form; + ViewportConstraintsPart viewport; +} ViewportConstraintsRec, *ViewportConstraints; + +#endif /* _ViewportP_h */ diff --git a/X11/Xaw/XawImP.h b/X11/Xaw/XawImP.h new file mode 100644 index 000000000..e36f5050f --- /dev/null +++ b/X11/Xaw/XawImP.h @@ -0,0 +1,213 @@ +/* $Xorg: XawImP.h,v 1.4 2001/02/09 02:03:47 xorgcvs Exp $ */ + +/* + * Copyright 1991 by OMRON Corporation + * + * 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, and that the name of OMRON not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. OMRON makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * OMRON 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 TORTUOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Seiji Kuwari OMRON Corporation + * kuwa@omron.co.jp + * kuwa%omron.co.jp@uunet.uu.net + */ + +/* + +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/Xaw/XawImP.h,v 3.8 2001/01/17 19:42:36 dawes Exp $ */ + +#ifndef _XawImP_h +#define _XawImP_h + +#define XtNinputMethod "inputMethod" +#define XtCInputMethod "InputMethod" +#define XtNpreeditType "preeditType" +#define XtCPreeditType "PreeditType" +#define XtNopenIm "openIm" +#define XtCOpenIm "OpenIm" +#define XtNsharedIc "sharedIc" +#define XtCSharedIc "SharedIc" + +#include <X11/Xaw/Text.h> + +#define CIICFocus (1 << 0) +#define CIFontSet (1 << 1) +#define CIFg (1 << 2) +#define CIBg (1 << 3) +#define CIBgPixmap (1 << 4) +#define CICursorP (1 << 5) +#define CILineS (1 << 6) + +typedef struct _XawImPart { + XIM xim; + XrmResourceList resources; + Cardinal num_resources; + Boolean open_im; + Boolean initialized; + Dimension area_height; + String input_method; + String preedit_type; +} XawImPart; + +typedef struct _XawIcTablePart { + Widget widget; + XIC xic; + XIMStyle input_style; + unsigned long flg; + unsigned long prev_flg; + Boolean ic_focused; + XFontSet font_set; + Pixel foreground; + Pixel background; + Pixmap bg_pixmap; + XawTextPosition cursor_position; + unsigned long line_spacing; + Boolean openic_error; + struct _XawIcTablePart *next; +} XawIcTablePart, *XawIcTableList; + +typedef struct _XawIcPart { + XIMStyle input_style; + Boolean shared_ic; + XawIcTableList shared_ic_table; + XawIcTableList current_ic_table; + XawIcTableList ic_table; +} XawIcPart; + +typedef struct _contextDataRec { + Widget parent; + Widget ve; +} contextDataRec; + +typedef struct _contextErrDataRec { + Widget widget; + XIM xim; +} contextErrDataRec; + +void _XawImResizeVendorShell +( + Widget w + ); + +Dimension _XawImGetShellHeight +( + Widget w +); + +void _XawImRealize +( + Widget w + ); + +void _XawImInitialize +( + Widget w, + Widget ext + ); + +void _XawImReconnect +( + Widget w + ); + +void _XawImRegister +( + Widget w + ); + +void _XawImUnregister +( + Widget w + ); + +void _XawImSetValues +( + Widget w, + ArgList args, + Cardinal num_args + ); + +void _XawImSetFocusValues +( + Widget w, + ArgList args, + Cardinal num_args +); + +void _XawImUnsetFocus +( + Widget w + ); + +int _XawImWcLookupString +( + Widget w, + XKeyPressedEvent *event, + wchar_t *buffer_return, + int bytes_buffer, + KeySym *keysym_return + ); + +int _XawLookupString +( + Widget w, + XKeyEvent *event, + char *buffer_return, + int buffer_size, + KeySym *keysym_return + ); + +int _XawImGetImAreaHeight +( + Widget w + ); + +void _XawImCallVendorShellExtResize +( + Widget w + ); + +void _XawImDestroy +( + Widget w, + Widget ext + ); + +#endif /* _XawImP_h */ diff --git a/X11/Xaw/XawInit.h b/X11/Xaw/XawInit.h new file mode 100644 index 000000000..1953f616c --- /dev/null +++ b/X11/Xaw/XawInit.h @@ -0,0 +1,64 @@ +/* $Xorg: XawInit.h,v 1.5 2001/02/09 02:03:47 xorgcvs Exp $ + * +Copyright 1989, 1994, 1998 The Open Group +Copyright 2003-2004 Roland Mainz <roland.mainz@nrubsig.org> + +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/Xaw/XawInit.h,v 1.12 2001/01/17 19:42:36 dawes Exp $ */ + +/* $XdotOrg: xc/lib/Xaw/XawInit.h,v 1.2 2004/04/23 18:43:38 eich Exp $ */ +#ifndef _XawInit_h +#define _XawInit_h + +#define XawVendor XVENDORNAMESHORT + +#ifdef OLDXAW +#define XawVersion 6700002L +#else +#define XawVersion 7000002L + +typedef struct _XawDL XawDisplayList; +#endif /* OLDXAW */ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XawInitializeWidgetSet(void); +#ifndef OLDXAW +void XawInitializeDefaultConverters(void); +#endif + +extern Widget XawOpenApplication( + XtAppContext *app_context_return, + Display *dpy, + Screen *screen, + String application_name, + String application_class, + WidgetClass widget_class, + int *argc, + String *argv +); + +_XFUNCPROTOEND + +#endif /* _XawInit_h */ diff --git a/X11/Xcms.h b/X11/Xcms.h new file mode 100644 index 000000000..cea11ab48 --- /dev/null +++ b/X11/Xcms.h @@ -0,0 +1,803 @@ + +/* + * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. + * All Rights Reserved + * + * This file is a component of an X Window System-specific implementation + * of Xcms based on the TekColor Color Management System. Permission is + * hereby granted to use, copy, modify, sell, and otherwise distribute this + * software and its documentation for any purpose and without fee, provided + * that this copyright, permission, and disclaimer notice is reproduced in + * all copies of this software and in supporting documentation. TekColor + * is a trademark of Tektronix, Inc. + * + * Tektronix makes no representation about the suitability of this software + * for any purpose. It is provided "as is" and with all faults. + * + * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, + * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX 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 THE PERFORMANCE OF THIS SOFTWARE. + * + * + * DESCRIPTION + * Public include file for X Color Management System + */ +#ifndef _XCMS_H_ +#define _XCMS_H_ + +#include <X11/Xlib.h> + + /* + * XCMS Status Values + */ +#define XcmsFailure 0 +#define XcmsSuccess 1 +#define XcmsSuccessWithCompression 2 + + /* + * Color Space Format ID's + * Color Space ID's are of XcmsColorFormat type. + * + * bit 31 + * 0 == Device-Independent + * 1 == Device-Dependent + * + * bit 30: + * 0 == Registered with X Consortium + * 1 == Unregistered + */ +#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000 +#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001 +#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002 +#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003 +#define XcmsCIELabFormat (XcmsColorFormat)0x00000004 +#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005 +#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006 +#define XcmsRGBFormat (XcmsColorFormat)0x80000000 +#define XcmsRGBiFormat (XcmsColorFormat)0x80000001 + + /* + * State of XcmsPerScrnInfo + */ +#define XcmsInitNone 0x00 /* no initialization attempted */ +#define XcmsInitSuccess 0x01 /* initialization successful */ +#define XcmsInitFailure 0xff /* failure, use defaults */ + +#define DisplayOfCCC(ccc) ((ccc)->dpy) +#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber) +#define VisualOfCCC(ccc) ((ccc)->visual) +#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt) +#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt) +#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet) + +typedef unsigned long XcmsColorFormat; /* Color Space Format ID */ + +typedef double XcmsFloat; + + /* + * Device RGB + */ +typedef struct { + unsigned short red; /* scaled from 0x0000 to 0xffff */ + unsigned short green; /* scaled from 0x0000 to 0xffff */ + unsigned short blue; /* scaled from 0x0000 to 0xffff */ +} XcmsRGB; + + /* + * RGB Intensity + */ +typedef struct { + XcmsFloat red; /* 0.0 - 1.0 */ + XcmsFloat green; /* 0.0 - 1.0 */ + XcmsFloat blue; /* 0.0 - 1.0 */ +} XcmsRGBi; + + /* + * CIE XYZ + */ +typedef struct { + XcmsFloat X; + XcmsFloat Y; + XcmsFloat Z; +} XcmsCIEXYZ; + + /* + * CIE u'v'Y + */ +typedef struct { + XcmsFloat u_prime; /* 0.0 - 1.0 */ + XcmsFloat v_prime; /* 0.0 - 1.0 */ + XcmsFloat Y; /* 0.0 - 1.0 */ +} XcmsCIEuvY; + + /* + * CIE xyY + */ +typedef struct { + XcmsFloat x; /* 0.0 - 1.0 */ + XcmsFloat y; /* 0.0 - 1.0 */ + XcmsFloat Y; /* 0.0 - 1.0 */ +} XcmsCIExyY; + + /* + * CIE L*a*b* + */ +typedef struct { + XcmsFloat L_star; /* 0.0 - 100.0 */ + XcmsFloat a_star; + XcmsFloat b_star; +} XcmsCIELab; + + /* + * CIE L*u*v* + */ +typedef struct { + XcmsFloat L_star; /* 0.0 - 100.0 */ + XcmsFloat u_star; + XcmsFloat v_star; +} XcmsCIELuv; + + /* + * TekHVC + */ +typedef struct { + XcmsFloat H; /* 0.0 - 360.0 */ + XcmsFloat V; /* 0.0 - 100.0 */ + XcmsFloat C; /* 0.0 - 100.0 */ +} XcmsTekHVC; + + /* + * PAD + */ +typedef struct { + XcmsFloat pad0; + XcmsFloat pad1; + XcmsFloat pad2; + XcmsFloat pad3; +} XcmsPad; + + + /* + * XCMS Color Structure + */ +typedef struct { + union { + XcmsRGB RGB; + XcmsRGBi RGBi; + XcmsCIEXYZ CIEXYZ; + XcmsCIEuvY CIEuvY; + XcmsCIExyY CIExyY; + XcmsCIELab CIELab; + XcmsCIELuv CIELuv; + XcmsTekHVC TekHVC; + XcmsPad Pad; + } spec; /* the color specification */ + unsigned long pixel; /* pixel value (as needed) */ + XcmsColorFormat format; /* the specification format */ +} XcmsColor; + + + /* + * XCMS Per Screen related data + */ + +typedef struct _XcmsPerScrnInfo { + XcmsColor screenWhitePt; /* Screen White point */ + XPointer functionSet; /* pointer to Screen Color Characterization */ + /* Function Set structure */ + XPointer screenData; /* pointer to corresponding Screen Color*/ + /* Characterization Data */ + unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */ + char pad[3]; +} XcmsPerScrnInfo; + +typedef struct _XcmsCCC *XcmsCCC; + +typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */ + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */ + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + + /* + * XCMS Color Conversion Context + */ +typedef struct _XcmsCCC { + Display *dpy; /* X Display */ + int screenNumber; /* X screen number */ + Visual *visual; /* X Visual */ + XcmsColor clientWhitePt; /* Client White Point */ + XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */ + XPointer gamutCompClientData; /* Gamut Comp Func Client Data */ + XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */ + XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */ + XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */ + /* associated with the above display */ + /* screenNumber */ +} XcmsCCCRec; + +typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */ + Display* /* dpy */, + int /* screen_number */, + XcmsPerScrnInfo* /* screen_info */ +); + +typedef void (*XcmsScreenFreeProc)( + XPointer /* screenData */ +); + + /* + * Function List Pointer -- pointer to an array of function pointers. + * The end of list is indicated by a NULL pointer. + */ +/* + * XXX: The use of the XcmsConversionProc type is broken. The + * device-independent colour conversion code uses it as: + +typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *, + unsigned int); + + * while the device-dependent code uses it as: + +typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int, + Bool *); + + * Until this is reworked, it's probably best to leave it unprotoized. + * The code works regardless. + */ +typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */ + XcmsCCC /* ccc */, + XcmsColor* /* pcolors_in_out */, + unsigned int /* ncolors */, + Bool* /* pCompressed */ + ); + +typedef Status (*XcmsDIConversionProc)( /* using device-independent version */ + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* pcolors_in_out */, + unsigned int /* ncolors */ + ); + +typedef XcmsDIConversionProc XcmsConversionProc; +typedef XcmsConversionProc *XcmsFuncListPtr; + +typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */ + char* /* color_string */, + XcmsColor* /* color_return */ +); + + /* + * Color Space -- per Color Space related data (Device-Independent + * or Device-Dependent) + */ +typedef struct _XcmsColorSpace { + const char *prefix; /* Prefix of string format. */ + XcmsColorFormat id; /* Format ID number. */ + XcmsParseStringProc parseString; + /* String format parsing function */ + XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */ + /* pointers such that when the */ + /* functions are executed in sequence */ + /* will convert a XcmsColor structure */ + /* from this color space to CIEXYZ */ + /* space. */ + XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */ + /* pointers such that when the */ + /* functions are executed in sequence */ + /* will convert a XcmsColor structure */ + /* from CIEXYZ space to this color */ + /* space. */ + int inverse_flag; /* If 1, indicates that for 0 <= i < n */ + /* where n is the number of function */ + /* pointers in the lists to_CIEXYZ */ + /* and from_CIEXYZ; for each function */ + /* to_CIEXYZ[i] its inverse function */ + /* is from_CIEXYZ[n - i]. */ + +} XcmsColorSpace; + + /* + * Screen Color Characterization Function Set -- per device class + * color space conversion functions. + */ +typedef struct _XcmsFunctionSet { + XcmsColorSpace **DDColorSpaces; + /* Pointer to an array of pointers to */ + /* Device-DEPENDENT color spaces */ + /* understood by this SCCFuncSet. */ + XcmsScreenInitProc screenInitProc; + /* Screen initialization function that */ + /* reads Screen Color Characterization*/ + /* Data off properties on the screen's*/ + /* root window. */ + XcmsScreenFreeProc screenFreeProc; + /* Function that frees the SCCData */ + /* structures. */ +} XcmsFunctionSet; + +_XFUNCPROTOBEGIN + +extern Status XcmsAddColorSpace ( + XcmsColorSpace* /* pColorSpace */ +); + +extern Status XcmsAddFunctionSet ( + XcmsFunctionSet* /* functionSet */ +); + +extern Status XcmsAllocColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* color_in_out */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsAllocNamedColor ( + Display* /* dpy */, + Colormap /* colormap */, + _Xconst char* /* color_string */, + XcmsColor* /* color_scrn_return */, + XcmsColor* /* color_exact_return */, + XcmsColorFormat /* result_format */ +); + +extern XcmsCCC XcmsCCCOfColormap ( + Display* /* dpy */, + Colormap /* colormap */ +); + +extern Status XcmsCIELabClipab( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabClipL( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabClipLab( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* L_star */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMaxL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMaxLC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMinL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIELabWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipL( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipLuv( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipuv( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* L_star */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMaxL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMaxLC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMinL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIELuvWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIEXYZToCIELab ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToCIExyY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToRGBi ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIEuvYToCIELuv ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEuvYToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEuvYToTekHVC ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIExyYToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern XcmsColor *XcmsClientWhitePointOfCCC ( + XcmsCCC /* ccc */ +); + +extern Status XcmsConvertColors ( + XcmsCCC /* ccc */, + XcmsColor* /* colorArry_in_out */, + unsigned int /* nColors */, + XcmsColorFormat /* targetFormat */, + Bool* /* compArry_return */ +); + +extern XcmsCCC XcmsCreateCCC ( + Display* /* dpy */, + int /* screenNumber */, + Visual* /* visual */, + XcmsColor* /* clientWhitePt */, + XcmsCompressionProc /* gamutCompProc */, + XPointer /* gamutCompClientData */, + XcmsWhiteAdjustProc /* whitePtAdjProc */, + XPointer /* whitePtAdjClientData */ +); + +extern XcmsCCC XcmsDefaultCCC ( + Display* /* dpy */, + int /* screenNumber */ +); + +extern Display *XcmsDisplayOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsColorFormat XcmsFormatOfPrefix ( + char* /* prefix */ +); + +extern void XcmsFreeCCC ( + XcmsCCC /* ccc */ +); + +extern Status XcmsLookupColor ( + Display* /* dpy */, + Colormap /* colormap */, + _Xconst char* /* color_string */, + XcmsColor* /* pColor_exact_in_out */, + XcmsColor* /* pColor_scrn_in_out */, + XcmsColorFormat /* result_format */ +); + +extern char *XcmsPrefixOfFormat ( + XcmsColorFormat /* id */ +); + +extern Status XcmsQueryBlack ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryBlue ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* pColor_in_out */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsQueryColors ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* colorArry_in_out */, + unsigned int /* nColors */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsQueryGreen ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryRed ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryWhite ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsRGBiToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsRGBiToRGB ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsRGBToRGBi ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern int XcmsScreenNumberOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsColor *XcmsScreenWhitePointOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsCCC XcmsSetCCCOfColormap( + Display* /* dpy */, + Colormap /* colormap */, + XcmsCCC /* ccc */ +); + +extern XcmsCompressionProc XcmsSetCompressionProc ( + XcmsCCC /* ccc */, + XcmsCompressionProc /* compression_proc */, + XPointer /* client_data */ +); + +extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc ( + XcmsCCC /* ccc */, + XcmsWhiteAdjustProc /* white_adjust_proc */, + XPointer /* client_data */ +); + +extern Status XcmsSetWhitePoint ( + XcmsCCC /* ccc */, + XcmsColor* /* color */ +); + +extern Status XcmsStoreColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* pColor_in */ +); + +extern Status XcmsStoreColors ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* colorArry_in */, + unsigned int /* nColors */, + Bool* /* compArry_return */ +); + +extern Status XcmsTekHVCClipC( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCClipV( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCClipVC( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* value */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxV ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxVC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxVSamples ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsColor* /* colors_return */, + unsigned int /* nsamples */ +); + +extern Status XcmsTekHVCQueryMinV ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsTekHVCWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Visual *XcmsVisualOfCCC ( + XcmsCCC /* ccc */ +); + +_XFUNCPROTOEND + +#endif /* _XCMS_H_ */ diff --git a/X11/Xdmcp.h b/X11/Xdmcp.h new file mode 100644 index 000000000..254848565 --- /dev/null +++ b/X11/Xdmcp.h @@ -0,0 +1,190 @@ +/* $XdotOrg: xc/lib/Xdmcp/Xdmcp.h,v 1.2 2004/04/23 18:43:41 eich Exp $ */ +/* $Xorg: Xdmcp.h,v 1.7 2001/04/13 14:43:00 steve Exp $ */ +/* + * Copyright 1989 Network Computing Devices, Inc., Mountain View, California. + * + * 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 N.C.D. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. N.C.D. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + */ +/* $XFree86: xc/lib/Xdmcp/Xdmcp.h,v 3.7 2003/07/09 15:27:29 tsi Exp $ */ + +#ifndef _XDMCP_H_ +#define _XDMCP_H_ + +#include <X11/Xmd.h> + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +#define XDM_PROTOCOL_VERSION 1 +#define XDM_UDP_PORT 177 + +/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned + * multicast addresses for XDMCP, where X in the prefix may be replaced + * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local, + * 5 for Site-Local, and so on. We set the default here to the Link-Local + * version to most closely match the old IPv4 subnet broadcast behavior. + * Both xdm and X -query allow specifying a different address if a different + * scope is defined. + */ +#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b" + +#define XDM_MAX_MSGLEN 8192 +#define XDM_MIN_RTX 2 +#define XDM_MAX_RTX 32 +#define XDM_RTX_LIMIT 7 +#define XDM_KA_RTX_LIMIT 4 +#define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */ +#define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */ + +typedef enum { + BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY, + WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE, + FAILED, KEEPALIVE, ALIVE +} xdmOpCode; + +typedef enum { + XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY, + XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY, + XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE, + XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF, + XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE, +#if defined(IPv6) && defined(AF_INET6) + XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY, +#endif + XDM_KEEP_ME_LAST +} xdmcp_states; + +#ifdef NOTDEF +/* table of hosts */ + +#define XDM_MAX_STR_LEN 21 +#define XDM_MAX_HOSTS 20 +struct xdm_host_table { + struct sockaddr_in sockaddr; + char name[XDM_MAX_STR_LEN]; + char status[XDM_MAX_STR_LEN]; +}; +#endif /* NOTDEF */ + +typedef CARD8 *CARD8Ptr; +typedef CARD16 *CARD16Ptr; +typedef CARD32 *CARD32Ptr; + +typedef struct _ARRAY8 { + CARD16 length; + CARD8Ptr data; +} ARRAY8, *ARRAY8Ptr; + +typedef struct _ARRAY16 { + CARD8 length; + CARD16Ptr data; +} ARRAY16, *ARRAY16Ptr; + +typedef struct _ARRAY32 { + CARD8 length; + CARD32Ptr data; +} ARRAY32, *ARRAY32Ptr; + +typedef struct _ARRAYofARRAY8 { + CARD8 length; + ARRAY8Ptr data; +} ARRAYofARRAY8, *ARRAYofARRAY8Ptr; + +typedef struct _XdmcpHeader { + CARD16 version, opcode, length; +} XdmcpHeader, *XdmcpHeaderPtr; + +typedef struct _XdmcpBuffer { + BYTE *data; + int size; /* size of buffer pointed by to data */ + int pointer; /* current index into data */ + int count; /* bytes read from network into data */ +} XdmcpBuffer, *XdmcpBufferPtr; + +typedef struct _XdmAuthKey { + BYTE data[8]; +} XdmAuthKeyRec, *XdmAuthKeyPtr; + + +/* implementation-independent network address structure. + Equiv to sockaddr* for sockets and netbuf* for STREAMS. */ + +typedef char *XdmcpNetaddr; + +extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array); +extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array); +extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array); +extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array); +extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header); + +extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen); + +extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array); +extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array); +extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array); +extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array); +extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep); +extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep); +extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep); +extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header); + +extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen); + +extern int XdmcpReadRemaining(XdmcpBufferPtr buffer); + +extern void XdmcpDisposeARRAY8(ARRAY8Ptr array); +extern void XdmcpDisposeARRAY16(ARRAY16Ptr array); +extern void XdmcpDisposeARRAY32(ARRAY32Ptr array); +extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array); + +extern int XdmcpCopyARRAY8(ARRAY8Ptr src, ARRAY8Ptr dst); + +extern int XdmcpARRAY8Equal(ARRAY8Ptr array1, ARRAY8Ptr array2); + +extern void XdmcpGenerateKey (XdmAuthKeyPtr key); +extern void XdmcpIncrementKey (XdmAuthKeyPtr key); +extern void XdmcpDecrementKey (XdmAuthKeyPtr key); +#ifdef HASXDMAUTH +extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); +extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); +#endif + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + +#if !defined(Xalloc) && !defined(xalloc) && !defined(Xrealloc) +extern void *Xalloc (unsigned long amount); +extern void *Xrealloc (void *old, unsigned long amount); +extern void Xfree(void *old); +#endif + +extern int XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b); + +extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length); +extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length); +extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length); +extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length); + +extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length); +extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length); +extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length); +extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length); + +_XFUNCPROTOEND + +#endif /* _XDMCP_H_ */ diff --git a/X11/Xfuncproto.h b/X11/Xfuncproto.h new file mode 100644 index 000000000..13d443ce3 --- /dev/null +++ b/X11/Xfuncproto.h @@ -0,0 +1,126 @@ +/* + * +Copyright 1989, 1991, 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. + * + */ + +/* Definitions to make function prototypes manageable */ + +#ifndef _XFUNCPROTO_H_ +#define _XFUNCPROTO_H_ + +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes 1 +#endif /* NeedFunctionPrototypes */ + +#ifndef NeedVarargsPrototypes +#define NeedVarargsPrototypes 1 +#endif /* NeedVarargsPrototypes */ + +#if NeedFunctionPrototypes + +#ifndef NeedNestedPrototypes +#define NeedNestedPrototypes 1 +#endif /* NeedNestedPrototypes */ + +#ifndef _Xconst +#define _Xconst const +#endif /* _Xconst */ + +/* Function prototype configuration (see configure for more info) */ +#ifndef NARROWPROTO +/* #undef NARROWPROTO */ +#endif +#ifndef FUNCPROTO +/* #undef FUNCPROTO */ +#endif + +#ifndef NeedWidePrototypes +#ifdef NARROWPROTO +#define NeedWidePrototypes 0 +#else +#define NeedWidePrototypes 1 /* default to make interropt. easier */ +#endif +#endif /* NeedWidePrototypes */ + +#endif /* NeedFunctionPrototypes */ + +#ifndef _XFUNCPROTOBEGIN +#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */ +#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */ +#define _XFUNCPROTOEND } +#else +#define _XFUNCPROTOBEGIN +#define _XFUNCPROTOEND +#endif +#endif /* _XFUNCPROTOBEGIN */ + +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x))) +# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) +#else +# define _X_SENTINEL(x) +# define _X_ATTRIBUTE_PRINTF(x,y) +#endif /* GNUC >= 4 */ + +#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__CYGWIN__) +# define _X_EXPORT __attribute__((visibility("default"))) +# define _X_HIDDEN __attribute__((visibility("hidden"))) +# define _X_INTERNAL __attribute__((visibility("internal"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +# define _X_EXPORT __global +# define _X_HIDDEN __hidden +# define _X_INTERNAL __hidden +#else /* not gcc >= 4 and not Sun Studio >= 8 */ +# define _X_EXPORT +# define _X_HIDDEN +# define _X_INTERNAL +#endif /* GNUC >= 4 */ + +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) +# define _X_LIKELY(x) __builtin_expect(!!(x), 1) +# define _X_UNLIKELY(x) __builtin_expect(!!(x), 0) +# define _X_INLINE inline +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +# define _X_LIKELY(x) (x) +# define _X_UNLIKELY(x) (x) +# define _X_INLINE inline +#else /* not gcc >= 3.3 and not Sun Studio >= 8 */ +# define _X_LIKELY(x) (x) +# define _X_UNLIKELY(x) (x) +# define _X_INLINE +#endif + +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301) +# define _X_DEPRECATED __attribute__((deprecated)) +#else /* not gcc >= 3.1 */ +# define _X_DEPRECATED +#endif + +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205) +# define _X_NORETURN __attribute((noreturn)) +#else +# define _X_NORETURN +#endif /* GNUC */ + +#endif /* _XFUNCPROTO_H_ */ diff --git a/X11/Xlib-xcb.h b/X11/Xlib-xcb.h new file mode 100644 index 000000000..03d8f9867 --- /dev/null +++ b/X11/Xlib-xcb.h @@ -0,0 +1,20 @@ +/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett + * This file is licensed under the MIT license. See the file COPYING. */ + +#ifndef XLIB_XCB_H +#define XLIB_XCB_H + +#include <xcb/xcb.h> +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +xcb_connection_t *XGetXCBConnection(Display *dpy); + +enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue }; +void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner); + +_XFUNCPROTOEND + +#endif /* XLIB_XCB_H */ diff --git a/X11/Xlib.h b/X11/Xlib.h new file mode 100644 index 000000000..7c8bc5154 --- /dev/null +++ b/X11/Xlib.h @@ -0,0 +1,4023 @@ +/* + +Copyright 1985, 1986, 1987, 1991, 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. + +*/ + + +/* + * Xlib.h - Header definition and support file for the C subroutine + * interface library (Xlib) to the X Window System Protocol (V11). + * Structures and symbols starting with "_" are private to the library. + */ +#ifndef _XLIB_H_ +#define _XLIB_H_ + +#define XlibSpecificationRelease 6 + +#include <sys/types.h> + +#if defined(__SCO__) || defined(__UNIXWARE__) +#include <stdint.h> +#endif + +#include <X11/X.h> + +/* applications should not depend on these two headers being included! */ +#include <X11/Xfuncproto.h> +#include <X11/Xosdefs.h> + +#ifndef X_WCHAR +#include <stddef.h> +#else +#ifdef __UNIXOS2__ +#include <stdlib.h> +#else +/* replace this with #include or typedef appropriate for your system */ +typedef unsigned long wchar_t; +#endif +#endif + +#if defined(ISC) && defined(USE_XMBTOWC) +#define wctomb(a,b) _Xwctomb(a,b) +#define mblen(a,b) _Xmblen(a,b) +#ifndef USE_XWCHAR_STRING +#define mbtowc(a,b,c) _Xmbtowc(a,b,c) +#endif +#endif + +extern int +_Xmblen( +#ifdef ISC + char const *str, + size_t len +#else + char *str, + int len +#endif + ); + +/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in + November 2000. Its presence is indicated through the following macro. */ +#define X_HAVE_UTF8_STRING 1 + +typedef char *XPointer; + +#define Bool int +#define Status int +#define True 1 +#define False 0 + +#define QueuedAlready 0 +#define QueuedAfterReading 1 +#define QueuedAfterFlush 2 + +#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd) +#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) +#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen) +#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) +#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual) +#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc) +#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel) +#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel) +#define AllPlanes ((unsigned long)~0L) +#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen) +#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width) +#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height) +#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth) +#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight) +#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) +#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries) +#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens) +#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor) +#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version) +#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version) +#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release) +#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name) +#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) +#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) +#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit) +#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order) +#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad) +#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order) +#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */ +#define NextRequest(dpy) XNextRequest(dpy) +#else +#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1) +#endif +#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read) + +/* macros for screen oriented applications (toolkit) */ +#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr]) +#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy)) +#define DisplayOfScreen(s) ((s)->display) +#define RootWindowOfScreen(s) ((s)->root) +#define BlackPixelOfScreen(s) ((s)->black_pixel) +#define WhitePixelOfScreen(s) ((s)->white_pixel) +#define DefaultColormapOfScreen(s)((s)->cmap) +#define DefaultDepthOfScreen(s) ((s)->root_depth) +#define DefaultGCOfScreen(s) ((s)->default_gc) +#define DefaultVisualOfScreen(s)((s)->root_visual) +#define WidthOfScreen(s) ((s)->width) +#define HeightOfScreen(s) ((s)->height) +#define WidthMMOfScreen(s) ((s)->mwidth) +#define HeightMMOfScreen(s) ((s)->mheight) +#define PlanesOfScreen(s) ((s)->root_depth) +#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) +#define MinCmapsOfScreen(s) ((s)->min_maps) +#define MaxCmapsOfScreen(s) ((s)->max_maps) +#define DoesSaveUnders(s) ((s)->save_unders) +#define DoesBackingStore(s) ((s)->backing_store) +#define EventMaskOfScreen(s) ((s)->root_input_mask) + +/* + * Extensions need a way to hang private data on some structures. + */ +typedef struct _XExtData { + int number; /* number returned by XRegisterExtension */ + struct _XExtData *next; /* next item on list of data for structure */ + int (*free_private)( /* called to free private storage */ + struct _XExtData *extension + ); + XPointer private_data; /* data private to this extension. */ +} XExtData; + +/* + * This file contains structures used by the extension mechanism. + */ +typedef struct { /* public to extension, cannot be changed */ + int extension; /* extension number */ + int major_opcode; /* major op-code assigned by server */ + int first_event; /* first event number for the extension */ + int first_error; /* first error number for the extension */ +} XExtCodes; + +/* + * Data structure for retrieving info about pixmap formats. + */ + +typedef struct { + int depth; + int bits_per_pixel; + int scanline_pad; +} XPixmapFormatValues; + + +/* + * Data structure for setting graphics context. + */ +typedef struct { + int function; /* logical operation */ + unsigned long plane_mask;/* plane mask */ + unsigned long foreground;/* foreground pixel */ + unsigned long background;/* background pixel */ + int line_width; /* line width */ + int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ + int cap_style; /* CapNotLast, CapButt, + CapRound, CapProjecting */ + int join_style; /* JoinMiter, JoinRound, JoinBevel */ + int fill_style; /* FillSolid, FillTiled, + FillStippled, FillOpaeueStippled */ + int fill_rule; /* EvenOddRule, WindingRule */ + int arc_mode; /* ArcChord, ArcPieSlice */ + Pixmap tile; /* tile pixmap for tiling operations */ + Pixmap stipple; /* stipple 1 plane pixmap for stipping */ + int ts_x_origin; /* offset for tile or stipple operations */ + int ts_y_origin; + Font font; /* default text font for text operations */ + int subwindow_mode; /* ClipByChildren, IncludeInferiors */ + Bool graphics_exposures;/* boolean, should exposures be generated */ + int clip_x_origin; /* origin for clipping */ + int clip_y_origin; + Pixmap clip_mask; /* bitmap clipping; other calls for rects */ + int dash_offset; /* patterned/dashed line information */ + char dashes; +} XGCValues; + +/* + * Graphics context. The contents of this structure are implementation + * dependent. A GC should be treated as opaque by application code. + */ + +typedef struct _XGC +#ifdef XLIB_ILLEGAL_ACCESS +{ + XExtData *ext_data; /* hook for extension to hang data */ + GContext gid; /* protocol ID for graphics context */ + /* there is more to this structure, but it is private to Xlib */ +} +#endif +*GC; + +/* + * Visual structure; contains information about colormapping possible. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + VisualID visualid; /* visual id of this visual */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ class of screen (monochrome, etc.) */ +#else + int class; /* class of screen (monochrome, etc.) */ +#endif + unsigned long red_mask, green_mask, blue_mask; /* mask values */ + int bits_per_rgb; /* log base 2 of distinct color values */ + int map_entries; /* color map entries */ +} Visual; + +/* + * Depth structure; contains information for each possible depth. + */ +typedef struct { + int depth; /* this depth (Z) of the depth */ + int nvisuals; /* number of Visual types at this depth */ + Visual *visuals; /* list of visuals possible at this depth */ +} Depth; + +/* + * Information about the screen. The contents of this structure are + * implementation dependent. A Screen should be treated as opaque + * by application code. + */ + +struct _XDisplay; /* Forward declare before use for C++ */ + +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + struct _XDisplay *display;/* back pointer to display structure */ + Window root; /* Root window id. */ + int width, height; /* width and height of screen */ + int mwidth, mheight; /* width and height of in millimeters */ + int ndepths; /* number of depths possible */ + Depth *depths; /* list of allowable depths on the screen */ + int root_depth; /* bits per pixel */ + Visual *root_visual; /* root visual */ + GC default_gc; /* GC for the root root visual */ + Colormap cmap; /* default color map */ + unsigned long white_pixel; + unsigned long black_pixel; /* White and Black pixel values */ + int max_maps, min_maps; /* max and min color maps */ + int backing_store; /* Never, WhenMapped, Always */ + Bool save_unders; + long root_input_mask; /* initial root input mask */ +} Screen; + +/* + * Format structure; describes ZFormat data the screen will understand. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + int depth; /* depth of this image format */ + int bits_per_pixel; /* bits/pixel at this depth */ + int scanline_pad; /* scanline must padded to this multiple */ +} ScreenFormat; + +/* + * Data structure for setting window attributes. + */ +typedef struct { + Pixmap background_pixmap; /* background or None or ParentRelative */ + unsigned long background_pixel; /* background pixel */ + Pixmap border_pixmap; /* border of the window */ + unsigned long border_pixel; /* border pixel value */ + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preseved if possible */ + unsigned long backing_pixel;/* value to use in restoring planes */ + Bool save_under; /* should bits under be saved? (popups) */ + long event_mask; /* set of events that should be saved */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Colormap colormap; /* color map to be associated with window */ + Cursor cursor; /* cursor to be displayed (or None) */ +} XSetWindowAttributes; + +typedef struct { + int x, y; /* location of window */ + int width, height; /* width and height of window */ + int border_width; /* border width of window */ + int depth; /* depth of window */ + Visual *visual; /* the associated visual structure */ + Window root; /* root of screen containing window */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ InputOutput, InputOnly*/ +#else + int class; /* InputOutput, InputOnly*/ +#endif + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preserved if possible */ + unsigned long backing_pixel;/* value to be used when restoring planes */ + Bool save_under; /* boolean, should bits under be saved? */ + Colormap colormap; /* color map to be associated with window */ + Bool map_installed; /* boolean, is color map currently installed*/ + int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ + long all_event_masks; /* set of events all people have interest in*/ + long your_event_mask; /* my event mask */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Screen *screen; /* back pointer to correct screen */ +} XWindowAttributes; + +/* + * Data structure for host setting; getting routines. + * + */ + +typedef struct { + int family; /* for example FamilyInternet */ + int length; /* length of address, in bytes */ + char *address; /* pointer to where to find the bytes */ +} XHostAddress; + +/* + * Data structure for ServerFamilyInterpreted addresses in host routines + */ +typedef struct { + int typelength; /* length of type string, in bytes */ + int valuelength; /* length of value string, in bytes */ + char *type; /* pointer to where to find the type string */ + char *value; /* pointer to where to find the address */ +} XServerInterpretedAddress; + +/* + * Data structure for "image" data, used by image manipulation routines. + */ +typedef struct _XImage { + int width, height; /* size of image */ + int xoffset; /* number of pixels offset in X direction */ + int format; /* XYBitmap, XYPixmap, ZPixmap */ + char *data; /* pointer to image data */ + int byte_order; /* data byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* quant. of scanline 8, 16, 32 */ + int bitmap_bit_order; /* LSBFirst, MSBFirst */ + int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ + int depth; /* depth of image */ + int bytes_per_line; /* accelarator to next line */ + int bits_per_pixel; /* bits per pixel (ZPixmap) */ + unsigned long red_mask; /* bits in z arrangment */ + unsigned long green_mask; + unsigned long blue_mask; + XPointer obdata; /* hook for the object routines to hang on */ + struct funcs { /* image manipulation routines */ + struct _XImage *(*create_image)( + struct _XDisplay* /* display */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + int /* offset */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + int /* bitmap_pad */, + int /* bytes_per_line */); + int (*destroy_image) (struct _XImage *); + unsigned long (*get_pixel) (struct _XImage *, int, int); + int (*put_pixel) (struct _XImage *, int, int, unsigned long); + struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); + int (*add_pixel) (struct _XImage *, long); + } f; +} XImage; + +/* + * Data structure for XReconfigureWindow + */ +typedef struct { + int x, y; + int width, height; + int border_width; + Window sibling; + int stack_mode; +} XWindowChanges; + +/* + * Data structure used by color operations + */ +typedef struct { + unsigned long pixel; + unsigned short red, green, blue; + char flags; /* do_red, do_green, do_blue */ + char pad; +} XColor; + +/* + * Data structures for graphics operations. On most machines, these are + * congruent with the wire protocol structures, so reformatting the data + * can be avoided on these architectures. + */ +typedef struct { + short x1, y1, x2, y2; +} XSegment; + +typedef struct { + short x, y; +} XPoint; + +typedef struct { + short x, y; + unsigned short width, height; +} XRectangle; + +typedef struct { + short x, y; + unsigned short width, height; + short angle1, angle2; +} XArc; + + +/* Data structure for XChangeKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + int bell_pitch; + int bell_duration; + int led; + int led_mode; + int key; + int auto_repeat_mode; /* On, Off, Default */ +} XKeyboardControl; + +/* Data structure for XGetKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + unsigned int bell_pitch, bell_duration; + unsigned long led_mask; + int global_auto_repeat; + char auto_repeats[32]; +} XKeyboardState; + +/* Data structure for XGetMotionEvents. */ + +typedef struct { + Time time; + short x, y; +} XTimeCoord; + +/* Data structure for X{Set,Get}ModifierMapping */ + +typedef struct { + int max_keypermod; /* The server's max # of keys per modifier */ + KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */ +} XModifierKeymap; + + +/* + * Display datatype maintaining display specific data. + * The contents of this structure are implementation dependent. + * A Display should be treated as opaque by application code. + */ +#ifndef XLIB_ILLEGAL_ACCESS +typedef struct _XDisplay Display; +#endif + +struct _XPrivate; /* Forward declare before use for C++ */ +struct _XrmHashBucketRec; + +typedef struct +#ifdef XLIB_ILLEGAL_ACCESS +_XDisplay +#endif +{ + XExtData *ext_data; /* hook for extension to hang data */ + struct _XPrivate *private1; + int fd; /* Network socket. */ + int private2; + int proto_major_version;/* major version of server's X protocol */ + int proto_minor_version;/* minor version of servers X protocol */ + char *vendor; /* vendor of the server hardware */ + XID private3; + XID private4; + XID private5; + int private6; + XID (*resource_alloc)( /* allocator function */ + struct _XDisplay* + ); + int byte_order; /* screen byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* padding and data requirements */ + int bitmap_pad; /* padding requirements on bitmaps */ + int bitmap_bit_order; /* LeastSignificant or MostSignificant */ + int nformats; /* number of pixmap formats in list */ + ScreenFormat *pixmap_format; /* pixmap format list */ + int private8; + int release; /* release of the server */ + struct _XPrivate *private9, *private10; + int qlen; /* Length of input event queue */ + unsigned long last_request_read; /* seq number of last event read */ + unsigned long request; /* sequence number of last request. */ + XPointer private11; + XPointer private12; + XPointer private13; + XPointer private14; + unsigned max_request_size; /* maximum number 32 bit words in request*/ + struct _XrmHashBucketRec *db; + int (*private15)( + struct _XDisplay* + ); + char *display_name; /* "host:display" string used on this connect*/ + int default_screen; /* default screen for operations */ + int nscreens; /* number of screens on this server*/ + Screen *screens; /* pointer to list of screens */ + unsigned long motion_buffer; /* size of motion buffer */ + unsigned long private16; + int min_keycode; /* minimum defined keycode */ + int max_keycode; /* maximum defined keycode */ + XPointer private17; + XPointer private18; + int private19; + char *xdefaults; /* contents of defaults from server */ + /* there is more to this structure, but it is private to Xlib */ +} +#ifdef XLIB_ILLEGAL_ACCESS +Display, +#endif +*_XPrivDisplay; + +#undef _XEVENT_ +#ifndef _XEVENT_ +/* + * Definitions of specific events. + */ +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int keycode; /* detail */ + Bool same_screen; /* same screen flag */ +} XKeyEvent; +typedef XKeyEvent XKeyPressedEvent; +typedef XKeyEvent XKeyReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int button; /* detail */ + Bool same_screen; /* same screen flag */ +} XButtonEvent; +typedef XButtonEvent XButtonPressedEvent; +typedef XButtonEvent XButtonReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + char is_hint; /* detail */ + Bool same_screen; /* same screen flag */ +} XMotionEvent; +typedef XMotionEvent XPointerMovedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual + */ + Bool same_screen; /* same screen flag */ + Bool focus; /* boolean focus */ + unsigned int state; /* key or button mask */ +} XCrossingEvent; +typedef XCrossingEvent XEnterWindowEvent; +typedef XCrossingEvent XLeaveWindowEvent; + +typedef struct { + int type; /* FocusIn or FocusOut */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window of event */ + int mode; /* NotifyNormal, NotifyWhileGrabbed, + NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, + * NotifyPointerRoot, NotifyDetailNone + */ +} XFocusChangeEvent; +typedef XFocusChangeEvent XFocusInEvent; +typedef XFocusChangeEvent XFocusOutEvent; + +/* generated on EnterWindow and FocusIn when KeyMapState selected */ +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + char key_vector[32]; +} XKeymapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ +} XExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XGraphicsExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XNoExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int state; /* Visibility state */ +} XVisibilityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; /* parent of the window */ + Window window; /* window id of window created */ + int x, y; /* window location */ + int width, height; /* size of window */ + int border_width; /* border width */ + Bool override_redirect; /* creation should be overridden */ +} XCreateWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; +} XDestroyWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool from_configure; +} XUnmapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool override_redirect; /* boolean, is override set... */ +} XMapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; +} XMapRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Window parent; + int x, y; + Bool override_redirect; +} XReparentEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + Bool override_redirect; +} XConfigureEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; +} XGravityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int width, height; +} XResizeRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + int detail; /* Above, Below, TopIf, BottomIf, Opposite */ + unsigned long value_mask; +} XConfigureRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom atom; + Time time; + int state; /* NewValue, Deleted */ +} XPropertyEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom selection; + Time time; +} XSelectionClearEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window owner; + Window requestor; + Atom selection; + Atom target; + Atom property; + Time time; +} XSelectionRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window requestor; + Atom selection; + Atom target; + Atom property; /* ATOM or None */ + Time time; +} XSelectionEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Colormap colormap; /* COLORMAP or None */ +#if defined(__cplusplus) || defined(c_plusplus) + Bool c_new; /* C++ */ +#else + Bool new; +#endif + int state; /* ColormapInstalled, ColormapUninstalled */ +} XColormapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom message_type; + int format; + union { + char b[20]; + short s[10]; + long l[5]; + } data; +} XClientMessageEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + int request; /* one of MappingModifier, MappingKeyboard, + MappingPointer */ + int first_keycode; /* first keycode */ + int count; /* defines range of change w. first_keycode*/ +} XMappingEvent; + +typedef struct { + int type; + Display *display; /* Display the event was read from */ + XID resourceid; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error code of failed request */ + unsigned char request_code; /* Major op-code of failed request */ + unsigned char minor_code; /* Minor op-code of failed request */ +} XErrorEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display;/* Display the event was read from */ + Window window; /* window on which event was requested in event mask */ +} XAnyEvent; + + +/*************************************************************** + * + * GenericEvent. This event is the standard event for all newer extensions. + */ + +typedef struct + { + int type; /* of event. Always GenericEvent */ + unsigned long serial; /* # of last request processed */ + Bool send_event; /* true if from SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* major opcode of extension that caused the event */ + int evtype; /* actual event type. */ + } XGenericEvent; + +typedef struct { + int type; /* of event. Always GenericEvent */ + unsigned long serial; /* # of last request processed */ + Bool send_event; /* true if from SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* major opcode of extension that caused the event */ + int evtype; /* actual event type. */ + unsigned int cookie; + void *data; +} XGenericEventCookie; + +/* + * this union is defined so Xlib can always use the same sized + * event structure internally, to avoid memory fragmentation. + */ +typedef union _XEvent { + int type; /* must not be changed; first element */ + XAnyEvent xany; + XKeyEvent xkey; + XButtonEvent xbutton; + XMotionEvent xmotion; + XCrossingEvent xcrossing; + XFocusChangeEvent xfocus; + XExposeEvent xexpose; + XGraphicsExposeEvent xgraphicsexpose; + XNoExposeEvent xnoexpose; + XVisibilityEvent xvisibility; + XCreateWindowEvent xcreatewindow; + XDestroyWindowEvent xdestroywindow; + XUnmapEvent xunmap; + XMapEvent xmap; + XMapRequestEvent xmaprequest; + XReparentEvent xreparent; + XConfigureEvent xconfigure; + XGravityEvent xgravity; + XResizeRequestEvent xresizerequest; + XConfigureRequestEvent xconfigurerequest; + XCirculateEvent xcirculate; + XCirculateRequestEvent xcirculaterequest; + XPropertyEvent xproperty; + XSelectionClearEvent xselectionclear; + XSelectionRequestEvent xselectionrequest; + XSelectionEvent xselection; + XColormapEvent xcolormap; + XClientMessageEvent xclient; + XMappingEvent xmapping; + XErrorEvent xerror; + XKeymapEvent xkeymap; + XGenericEvent xgeneric; + XGenericEventCookie xcookie; + long pad[24]; +} XEvent; +#endif + +#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy))) + +/* + * per character font metric information. + */ +typedef struct { + short lbearing; /* origin to left edge of raster */ + short rbearing; /* origin to right edge of raster */ + short width; /* advance to next char's origin */ + short ascent; /* baseline to top edge of raster */ + short descent; /* baseline to bottom edge of raster */ + unsigned short attributes; /* per char flags (not predefined) */ +} XCharStruct; + +/* + * To allow arbitrary information with fonts, there are additional properties + * returned. + */ +typedef struct { + Atom name; + unsigned long card32; +} XFontProp; + +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + Font fid; /* Font id for this font */ + unsigned direction; /* hint about direction the font is painted */ + unsigned min_char_or_byte2;/* first character */ + unsigned max_char_or_byte2;/* last character */ + unsigned min_byte1; /* first row that exists */ + unsigned max_byte1; /* last row that exists */ + Bool all_chars_exist;/* flag if all characters have non-zero size*/ + unsigned default_char; /* char to print for undefined character */ + int n_properties; /* how many properties there are */ + XFontProp *properties; /* pointer to array of additional properties*/ + XCharStruct min_bounds; /* minimum bounds over all existing char*/ + XCharStruct max_bounds; /* maximum bounds over all existing char*/ + XCharStruct *per_char; /* first_char to last_char information */ + int ascent; /* log. extent above baseline for spacing */ + int descent; /* log. descent below baseline for spacing */ +} XFontStruct; + +/* + * PolyText routines take these as arguments. + */ +typedef struct { + char *chars; /* pointer to string */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem; + +typedef struct { /* normal 16 bit characters are two bytes */ + unsigned char byte1; + unsigned char byte2; +} XChar2b; + +typedef struct { + XChar2b *chars; /* two byte characters */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem16; + + +typedef union { Display *display; + GC gc; + Visual *visual; + Screen *screen; + ScreenFormat *pixmap_format; + XFontStruct *font; } XEDataObject; + +typedef struct { + XRectangle max_ink_extent; + XRectangle max_logical_extent; +} XFontSetExtents; + +/* unused: +typedef void (*XOMProc)(); + */ + +typedef struct _XOM *XOM; +typedef struct _XOC *XOC, *XFontSet; + +typedef struct { + char *chars; + int nchars; + int delta; + XFontSet font_set; +} XmbTextItem; + +typedef struct { + wchar_t *chars; + int nchars; + int delta; + XFontSet font_set; +} XwcTextItem; + +#define XNRequiredCharSet "requiredCharSet" +#define XNQueryOrientation "queryOrientation" +#define XNBaseFontName "baseFontName" +#define XNOMAutomatic "omAutomatic" +#define XNMissingCharSet "missingCharSet" +#define XNDefaultString "defaultString" +#define XNOrientation "orientation" +#define XNDirectionalDependentDrawing "directionalDependentDrawing" +#define XNContextualDrawing "contextualDrawing" +#define XNFontInfo "fontInfo" + +typedef struct { + int charset_count; + char **charset_list; +} XOMCharSetList; + +typedef enum { + XOMOrientation_LTR_TTB, + XOMOrientation_RTL_TTB, + XOMOrientation_TTB_LTR, + XOMOrientation_TTB_RTL, + XOMOrientation_Context +} XOrientation; + +typedef struct { + int num_orientation; + XOrientation *orientation; /* Input Text description */ +} XOMOrientation; + +typedef struct { + int num_font; + XFontStruct **font_struct_list; + char **font_name_list; +} XOMFontInfo; + +typedef struct _XIM *XIM; +typedef struct _XIC *XIC; + +typedef void (*XIMProc)( + XIM, + XPointer, + XPointer +); + +typedef Bool (*XICProc)( + XIC, + XPointer, + XPointer +); + +typedef void (*XIDProc)( + Display*, + XPointer, + XPointer +); + +typedef unsigned long XIMStyle; + +typedef struct { + unsigned short count_styles; + XIMStyle *supported_styles; +} XIMStyles; + +#define XIMPreeditArea 0x0001L +#define XIMPreeditCallbacks 0x0002L +#define XIMPreeditPosition 0x0004L +#define XIMPreeditNothing 0x0008L +#define XIMPreeditNone 0x0010L +#define XIMStatusArea 0x0100L +#define XIMStatusCallbacks 0x0200L +#define XIMStatusNothing 0x0400L +#define XIMStatusNone 0x0800L + +#define XNVaNestedList "XNVaNestedList" +#define XNQueryInputStyle "queryInputStyle" +#define XNClientWindow "clientWindow" +#define XNInputStyle "inputStyle" +#define XNFocusWindow "focusWindow" +#define XNResourceName "resourceName" +#define XNResourceClass "resourceClass" +#define XNGeometryCallback "geometryCallback" +#define XNDestroyCallback "destroyCallback" +#define XNFilterEvents "filterEvents" +#define XNPreeditStartCallback "preeditStartCallback" +#define XNPreeditDoneCallback "preeditDoneCallback" +#define XNPreeditDrawCallback "preeditDrawCallback" +#define XNPreeditCaretCallback "preeditCaretCallback" +#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback" +#define XNPreeditAttributes "preeditAttributes" +#define XNStatusStartCallback "statusStartCallback" +#define XNStatusDoneCallback "statusDoneCallback" +#define XNStatusDrawCallback "statusDrawCallback" +#define XNStatusAttributes "statusAttributes" +#define XNArea "area" +#define XNAreaNeeded "areaNeeded" +#define XNSpotLocation "spotLocation" +#define XNColormap "colorMap" +#define XNStdColormap "stdColorMap" +#define XNForeground "foreground" +#define XNBackground "background" +#define XNBackgroundPixmap "backgroundPixmap" +#define XNFontSet "fontSet" +#define XNLineSpace "lineSpace" +#define XNCursor "cursor" + +#define XNQueryIMValuesList "queryIMValuesList" +#define XNQueryICValuesList "queryICValuesList" +#define XNVisiblePosition "visiblePosition" +#define XNR6PreeditCallback "r6PreeditCallback" +#define XNStringConversionCallback "stringConversionCallback" +#define XNStringConversion "stringConversion" +#define XNResetState "resetState" +#define XNHotKey "hotKey" +#define XNHotKeyState "hotKeyState" +#define XNPreeditState "preeditState" +#define XNSeparatorofNestedList "separatorofNestedList" + +#define XBufferOverflow -1 +#define XLookupNone 1 +#define XLookupChars 2 +#define XLookupKeySym 3 +#define XLookupBoth 4 + +typedef void *XVaNestedList; + +typedef struct { + XPointer client_data; + XIMProc callback; +} XIMCallback; + +typedef struct { + XPointer client_data; + XICProc callback; +} XICCallback; + +typedef unsigned long XIMFeedback; + +#define XIMReverse 1L +#define XIMUnderline (1L<<1) +#define XIMHighlight (1L<<2) +#define XIMPrimary (1L<<5) +#define XIMSecondary (1L<<6) +#define XIMTertiary (1L<<7) +#define XIMVisibleToForward (1L<<8) +#define XIMVisibleToBackword (1L<<9) +#define XIMVisibleToCenter (1L<<10) + +typedef struct _XIMText { + unsigned short length; + XIMFeedback *feedback; + Bool encoding_is_wchar; + union { + char *multi_byte; + wchar_t *wide_char; + } string; +} XIMText; + +typedef unsigned long XIMPreeditState; + +#define XIMPreeditUnKnown 0L +#define XIMPreeditEnable 1L +#define XIMPreeditDisable (1L<<1) + +typedef struct _XIMPreeditStateNotifyCallbackStruct { + XIMPreeditState state; +} XIMPreeditStateNotifyCallbackStruct; + +typedef unsigned long XIMResetState; + +#define XIMInitialState 1L +#define XIMPreserveState (1L<<1) + +typedef unsigned long XIMStringConversionFeedback; + +#define XIMStringConversionLeftEdge (0x00000001) +#define XIMStringConversionRightEdge (0x00000002) +#define XIMStringConversionTopEdge (0x00000004) +#define XIMStringConversionBottomEdge (0x00000008) +#define XIMStringConversionConcealed (0x00000010) +#define XIMStringConversionWrapped (0x00000020) + +typedef struct _XIMStringConversionText { + unsigned short length; + XIMStringConversionFeedback *feedback; + Bool encoding_is_wchar; + union { + char *mbs; + wchar_t *wcs; + } string; +} XIMStringConversionText; + +typedef unsigned short XIMStringConversionPosition; + +typedef unsigned short XIMStringConversionType; + +#define XIMStringConversionBuffer (0x0001) +#define XIMStringConversionLine (0x0002) +#define XIMStringConversionWord (0x0003) +#define XIMStringConversionChar (0x0004) + +typedef unsigned short XIMStringConversionOperation; + +#define XIMStringConversionSubstitution (0x0001) +#define XIMStringConversionRetrieval (0x0002) + +typedef enum { + XIMForwardChar, XIMBackwardChar, + XIMForwardWord, XIMBackwardWord, + XIMCaretUp, XIMCaretDown, + XIMNextLine, XIMPreviousLine, + XIMLineStart, XIMLineEnd, + XIMAbsolutePosition, + XIMDontChange +} XIMCaretDirection; + +typedef struct _XIMStringConversionCallbackStruct { + XIMStringConversionPosition position; + XIMCaretDirection direction; + XIMStringConversionOperation operation; + unsigned short factor; + XIMStringConversionText *text; +} XIMStringConversionCallbackStruct; + +typedef struct _XIMPreeditDrawCallbackStruct { + int caret; /* Cursor offset within pre-edit string */ + int chg_first; /* Starting change position */ + int chg_length; /* Length of the change in character count */ + XIMText *text; +} XIMPreeditDrawCallbackStruct; + +typedef enum { + XIMIsInvisible, /* Disable caret feedback */ + XIMIsPrimary, /* UI defined caret feedback */ + XIMIsSecondary /* UI defined caret feedback */ +} XIMCaretStyle; + +typedef struct _XIMPreeditCaretCallbackStruct { + int position; /* Caret offset within pre-edit string */ + XIMCaretDirection direction; /* Caret moves direction */ + XIMCaretStyle style; /* Feedback of the caret */ +} XIMPreeditCaretCallbackStruct; + +typedef enum { + XIMTextType, + XIMBitmapType +} XIMStatusDataType; + +typedef struct _XIMStatusDrawCallbackStruct { + XIMStatusDataType type; + union { + XIMText *text; + Pixmap bitmap; + } data; +} XIMStatusDrawCallbackStruct; + +typedef struct _XIMHotKeyTrigger { + KeySym keysym; + int modifier; + int modifier_mask; +} XIMHotKeyTrigger; + +typedef struct _XIMHotKeyTriggers { + int num_hot_key; + XIMHotKeyTrigger *key; +} XIMHotKeyTriggers; + +typedef unsigned long XIMHotKeyState; + +#define XIMHotKeyStateON (0x0001L) +#define XIMHotKeyStateOFF (0x0002L) + +typedef struct { + unsigned short count_values; + char **supported_values; +} XIMValuesList; + +_XFUNCPROTOBEGIN + +#if defined(WIN32) && !defined(_XLIBINT_) +#define _Xdebug (*_Xdebug_p) +#endif + +extern int _Xdebug; + +extern XFontStruct *XLoadQueryFont( + Display* /* display */, + _Xconst char* /* name */ +); + +extern XFontStruct *XQueryFont( + Display* /* display */, + XID /* font_ID */ +); + + +extern XTimeCoord *XGetMotionEvents( + Display* /* display */, + Window /* w */, + Time /* start */, + Time /* stop */, + int* /* nevents_return */ +); + +extern XModifierKeymap *XDeleteModifiermapEntry( + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +); + +extern XModifierKeymap *XGetModifierMapping( + Display* /* display */ +); + +extern XModifierKeymap *XInsertModifiermapEntry( + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +); + +extern XModifierKeymap *XNewModifiermap( + int /* max_keys_per_mod */ +); + +extern XImage *XCreateImage( + Display* /* display */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + int /* offset */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + int /* bitmap_pad */, + int /* bytes_per_line */ +); +extern Status XInitImage( + XImage* /* image */ +); +extern XImage *XGetImage( + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */ +); +extern XImage *XGetSubImage( + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */, + XImage* /* dest_image */, + int /* dest_x */, + int /* dest_y */ +); + +/* + * X function declarations. + */ +extern Display *XOpenDisplay( + _Xconst char* /* display_name */ +); + +extern void XrmInitialize( + void +); + +extern char *XFetchBytes( + Display* /* display */, + int* /* nbytes_return */ +); +extern char *XFetchBuffer( + Display* /* display */, + int* /* nbytes_return */, + int /* buffer */ +); +extern char *XGetAtomName( + Display* /* display */, + Atom /* atom */ +); +extern Status XGetAtomNames( + Display* /* dpy */, + Atom* /* atoms */, + int /* count */, + char** /* names_return */ +); +extern char *XGetDefault( + Display* /* display */, + _Xconst char* /* program */, + _Xconst char* /* option */ +); +extern char *XDisplayName( + _Xconst char* /* string */ +); +extern char *XKeysymToString( + KeySym /* keysym */ +); + +extern int (*XSynchronize( + Display* /* display */, + Bool /* onoff */ +))( + Display* /* display */ +); +extern int (*XSetAfterFunction( + Display* /* display */, + int (*) ( + Display* /* display */ + ) /* procedure */ +))( + Display* /* display */ +); +extern Atom XInternAtom( + Display* /* display */, + _Xconst char* /* atom_name */, + Bool /* only_if_exists */ +); +extern Status XInternAtoms( + Display* /* dpy */, + char** /* names */, + int /* count */, + Bool /* onlyIfExists */, + Atom* /* atoms_return */ +); +extern Colormap XCopyColormapAndFree( + Display* /* display */, + Colormap /* colormap */ +); +extern Colormap XCreateColormap( + Display* /* display */, + Window /* w */, + Visual* /* visual */, + int /* alloc */ +); +extern Cursor XCreatePixmapCursor( + Display* /* display */, + Pixmap /* source */, + Pixmap /* mask */, + XColor* /* foreground_color */, + XColor* /* background_color */, + unsigned int /* x */, + unsigned int /* y */ +); +extern Cursor XCreateGlyphCursor( + Display* /* display */, + Font /* source_font */, + Font /* mask_font */, + unsigned int /* source_char */, + unsigned int /* mask_char */, + XColor _Xconst * /* foreground_color */, + XColor _Xconst * /* background_color */ +); +extern Cursor XCreateFontCursor( + Display* /* display */, + unsigned int /* shape */ +); +extern Font XLoadFont( + Display* /* display */, + _Xconst char* /* name */ +); +extern GC XCreateGC( + Display* /* display */, + Drawable /* d */, + unsigned long /* valuemask */, + XGCValues* /* values */ +); +extern GContext XGContextFromGC( + GC /* gc */ +); +extern void XFlushGC( + Display* /* display */, + GC /* gc */ +); +extern Pixmap XCreatePixmap( + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* depth */ +); +extern Pixmap XCreateBitmapFromData( + Display* /* display */, + Drawable /* d */, + _Xconst char* /* data */, + unsigned int /* width */, + unsigned int /* height */ +); +extern Pixmap XCreatePixmapFromBitmapData( + Display* /* display */, + Drawable /* d */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* fg */, + unsigned long /* bg */, + unsigned int /* depth */ +); +extern Window XCreateSimpleWindow( + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + unsigned long /* border */, + unsigned long /* background */ +); +extern Window XGetSelectionOwner( + Display* /* display */, + Atom /* selection */ +); +extern Window XCreateWindow( + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + int /* depth */, + unsigned int /* class */, + Visual* /* visual */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +); +extern Colormap *XListInstalledColormaps( + Display* /* display */, + Window /* w */, + int* /* num_return */ +); +extern char **XListFonts( + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* actual_count_return */ +); +extern char **XListFontsWithInfo( + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* count_return */, + XFontStruct** /* info_return */ +); +extern char **XGetFontPath( + Display* /* display */, + int* /* npaths_return */ +); +extern char **XListExtensions( + Display* /* display */, + int* /* nextensions_return */ +); +extern Atom *XListProperties( + Display* /* display */, + Window /* w */, + int* /* num_prop_return */ +); +extern XHostAddress *XListHosts( + Display* /* display */, + int* /* nhosts_return */, + Bool* /* state_return */ +); +extern KeySym XKeycodeToKeysym( + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* keycode */, +#else + KeyCode /* keycode */, +#endif + int /* index */ +); +extern KeySym XLookupKeysym( + XKeyEvent* /* key_event */, + int /* index */ +); +extern KeySym *XGetKeyboardMapping( + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* first_keycode */, +#else + KeyCode /* first_keycode */, +#endif + int /* keycode_count */, + int* /* keysyms_per_keycode_return */ +); +extern KeySym XStringToKeysym( + _Xconst char* /* string */ +); +extern long XMaxRequestSize( + Display* /* display */ +); +extern long XExtendedMaxRequestSize( + Display* /* display */ +); +extern char *XResourceManagerString( + Display* /* display */ +); +extern char *XScreenResourceString( + Screen* /* screen */ +); +extern unsigned long XDisplayMotionBufferSize( + Display* /* display */ +); +extern VisualID XVisualIDFromVisual( + Visual* /* visual */ +); + +/* multithread routines */ + +extern Status XInitThreads( + void +); + +extern void XLockDisplay( + Display* /* display */ +); + +extern void XUnlockDisplay( + Display* /* display */ +); + +/* routines for dealing with extensions */ + +extern XExtCodes *XInitExtension( + Display* /* display */, + _Xconst char* /* name */ +); + +extern XExtCodes *XAddExtension( + Display* /* display */ +); +extern XExtData *XFindOnExtensionList( + XExtData** /* structure */, + int /* number */ +); +extern XExtData **XEHeadOfExtensionList( + XEDataObject /* object */ +); + +/* these are routines for which there are also macros */ +extern Window XRootWindow( + Display* /* display */, + int /* screen_number */ +); +extern Window XDefaultRootWindow( + Display* /* display */ +); +extern Window XRootWindowOfScreen( + Screen* /* screen */ +); +extern Visual *XDefaultVisual( + Display* /* display */, + int /* screen_number */ +); +extern Visual *XDefaultVisualOfScreen( + Screen* /* screen */ +); +extern GC XDefaultGC( + Display* /* display */, + int /* screen_number */ +); +extern GC XDefaultGCOfScreen( + Screen* /* screen */ +); +extern unsigned long XBlackPixel( + Display* /* display */, + int /* screen_number */ +); +extern unsigned long XWhitePixel( + Display* /* display */, + int /* screen_number */ +); +extern unsigned long XAllPlanes( + void +); +extern unsigned long XBlackPixelOfScreen( + Screen* /* screen */ +); +extern unsigned long XWhitePixelOfScreen( + Screen* /* screen */ +); +extern unsigned long XNextRequest( + Display* /* display */ +); +extern unsigned long XLastKnownRequestProcessed( + Display* /* display */ +); +extern char *XServerVendor( + Display* /* display */ +); +extern char *XDisplayString( + Display* /* display */ +); +extern Colormap XDefaultColormap( + Display* /* display */, + int /* screen_number */ +); +extern Colormap XDefaultColormapOfScreen( + Screen* /* screen */ +); +extern Display *XDisplayOfScreen( + Screen* /* screen */ +); +extern Screen *XScreenOfDisplay( + Display* /* display */, + int /* screen_number */ +); +extern Screen *XDefaultScreenOfDisplay( + Display* /* display */ +); +extern long XEventMaskOfScreen( + Screen* /* screen */ +); + +extern int XScreenNumberOfScreen( + Screen* /* screen */ +); + +typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ + Display* /* display */, + XErrorEvent* /* error_event */ +); + +extern XErrorHandler XSetErrorHandler ( + XErrorHandler /* handler */ +); + + +typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */ + Display* /* display */ +); + +extern XIOErrorHandler XSetIOErrorHandler ( + XIOErrorHandler /* handler */ +); + + +extern XPixmapFormatValues *XListPixmapFormats( + Display* /* display */, + int* /* count_return */ +); +extern int *XListDepths( + Display* /* display */, + int /* screen_number */, + int* /* count_return */ +); + +/* ICCCM routines for things that don't require special include files; */ +/* other declarations are given in Xutil.h */ +extern Status XReconfigureWMWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */, + unsigned int /* mask */, + XWindowChanges* /* changes */ +); + +extern Status XGetWMProtocols( + Display* /* display */, + Window /* w */, + Atom** /* protocols_return */, + int* /* count_return */ +); +extern Status XSetWMProtocols( + Display* /* display */, + Window /* w */, + Atom* /* protocols */, + int /* count */ +); +extern Status XIconifyWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */ +); +extern Status XWithdrawWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */ +); +extern Status XGetCommand( + Display* /* display */, + Window /* w */, + char*** /* argv_return */, + int* /* argc_return */ +); +extern Status XGetWMColormapWindows( + Display* /* display */, + Window /* w */, + Window** /* windows_return */, + int* /* count_return */ +); +extern Status XSetWMColormapWindows( + Display* /* display */, + Window /* w */, + Window* /* colormap_windows */, + int /* count */ +); +extern void XFreeStringList( + char** /* list */ +); +extern int XSetTransientForHint( + Display* /* display */, + Window /* w */, + Window /* prop_window */ +); + +/* The following are given in alphabetical order */ + +extern int XActivateScreenSaver( + Display* /* display */ +); + +extern int XAddHost( + Display* /* display */, + XHostAddress* /* host */ +); + +extern int XAddHosts( + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +); + +extern int XAddToExtensionList( + struct _XExtData** /* structure */, + XExtData* /* ext_data */ +); + +extern int XAddToSaveSet( + Display* /* display */, + Window /* w */ +); + +extern Status XAllocColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* screen_in_out */ +); + +extern Status XAllocColorCells( + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* plane_masks_return */, + unsigned int /* nplanes */, + unsigned long* /* pixels_return */, + unsigned int /* npixels */ +); + +extern Status XAllocColorPlanes( + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* pixels_return */, + int /* ncolors */, + int /* nreds */, + int /* ngreens */, + int /* nblues */, + unsigned long* /* rmask_return */, + unsigned long* /* gmask_return */, + unsigned long* /* bmask_return */ +); + +extern Status XAllocNamedColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* screen_def_return */, + XColor* /* exact_def_return */ +); + +extern int XAllowEvents( + Display* /* display */, + int /* event_mode */, + Time /* time */ +); + +extern int XAutoRepeatOff( + Display* /* display */ +); + +extern int XAutoRepeatOn( + Display* /* display */ +); + +extern int XBell( + Display* /* display */, + int /* percent */ +); + +extern int XBitmapBitOrder( + Display* /* display */ +); + +extern int XBitmapPad( + Display* /* display */ +); + +extern int XBitmapUnit( + Display* /* display */ +); + +extern int XCellsOfScreen( + Screen* /* screen */ +); + +extern int XChangeActivePointerGrab( + Display* /* display */, + unsigned int /* event_mask */, + Cursor /* cursor */, + Time /* time */ +); + +extern int XChangeGC( + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values */ +); + +extern int XChangeKeyboardControl( + Display* /* display */, + unsigned long /* value_mask */, + XKeyboardControl* /* values */ +); + +extern int XChangeKeyboardMapping( + Display* /* display */, + int /* first_keycode */, + int /* keysyms_per_keycode */, + KeySym* /* keysyms */, + int /* num_codes */ +); + +extern int XChangePointerControl( + Display* /* display */, + Bool /* do_accel */, + Bool /* do_threshold */, + int /* accel_numerator */, + int /* accel_denominator */, + int /* threshold */ +); + +extern int XChangeProperty( + Display* /* display */, + Window /* w */, + Atom /* property */, + Atom /* type */, + int /* format */, + int /* mode */, + _Xconst unsigned char* /* data */, + int /* nelements */ +); + +extern int XChangeSaveSet( + Display* /* display */, + Window /* w */, + int /* change_mode */ +); + +extern int XChangeWindowAttributes( + Display* /* display */, + Window /* w */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +); + +extern Bool XCheckIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern Bool XCheckMaskEvent( + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern Bool XCheckTypedEvent( + Display* /* display */, + int /* event_type */, + XEvent* /* event_return */ +); + +extern Bool XCheckTypedWindowEvent( + Display* /* display */, + Window /* w */, + int /* event_type */, + XEvent* /* event_return */ +); + +extern Bool XCheckWindowEvent( + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XCirculateSubwindows( + Display* /* display */, + Window /* w */, + int /* direction */ +); + +extern int XCirculateSubwindowsDown( + Display* /* display */, + Window /* w */ +); + +extern int XCirculateSubwindowsUp( + Display* /* display */, + Window /* w */ +); + +extern int XClearArea( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + Bool /* exposures */ +); + +extern int XClearWindow( + Display* /* display */, + Window /* w */ +); + +extern int XCloseDisplay( + Display* /* display */ +); + +extern int XConfigureWindow( + Display* /* display */, + Window /* w */, + unsigned int /* value_mask */, + XWindowChanges* /* values */ +); + +extern int XConnectionNumber( + Display* /* display */ +); + +extern int XConvertSelection( + Display* /* display */, + Atom /* selection */, + Atom /* target */, + Atom /* property */, + Window /* requestor */, + Time /* time */ +); + +extern int XCopyArea( + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */ +); + +extern int XCopyGC( + Display* /* display */, + GC /* src */, + unsigned long /* valuemask */, + GC /* dest */ +); + +extern int XCopyPlane( + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */, + unsigned long /* plane */ +); + +extern int XDefaultDepth( + Display* /* display */, + int /* screen_number */ +); + +extern int XDefaultDepthOfScreen( + Screen* /* screen */ +); + +extern int XDefaultScreen( + Display* /* display */ +); + +extern int XDefineCursor( + Display* /* display */, + Window /* w */, + Cursor /* cursor */ +); + +extern int XDeleteProperty( + Display* /* display */, + Window /* w */, + Atom /* property */ +); + +extern int XDestroyWindow( + Display* /* display */, + Window /* w */ +); + +extern int XDestroySubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XDoesBackingStore( + Screen* /* screen */ +); + +extern Bool XDoesSaveUnders( + Screen* /* screen */ +); + +extern int XDisableAccessControl( + Display* /* display */ +); + + +extern int XDisplayCells( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayHeight( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayHeightMM( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayKeycodes( + Display* /* display */, + int* /* min_keycodes_return */, + int* /* max_keycodes_return */ +); + +extern int XDisplayPlanes( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayWidth( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayWidthMM( + Display* /* display */, + int /* screen_number */ +); + +extern int XDrawArc( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +); + +extern int XDrawArcs( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +); + +extern int XDrawImageString( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +); + +extern int XDrawImageString16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +); + +extern int XDrawLine( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x1 */, + int /* y1 */, + int /* x2 */, + int /* y2 */ +); + +extern int XDrawLines( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +); + +extern int XDrawPoint( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */ +); + +extern int XDrawPoints( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +); + +extern int XDrawRectangle( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XDrawRectangles( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +); + +extern int XDrawSegments( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XSegment* /* segments */, + int /* nsegments */ +); + +extern int XDrawString( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +); + +extern int XDrawString16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +); + +extern int XDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem* /* items */, + int /* nitems */ +); + +extern int XDrawText16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem16* /* items */, + int /* nitems */ +); + +extern int XEnableAccessControl( + Display* /* display */ +); + +extern int XEventsQueued( + Display* /* display */, + int /* mode */ +); + +extern Status XFetchName( + Display* /* display */, + Window /* w */, + char** /* window_name_return */ +); + +extern int XFillArc( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +); + +extern int XFillArcs( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +); + +extern int XFillPolygon( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* shape */, + int /* mode */ +); + +extern int XFillRectangle( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XFillRectangles( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +); + +extern int XFlush( + Display* /* display */ +); + +extern int XForceScreenSaver( + Display* /* display */, + int /* mode */ +); + +extern int XFree( + void* /* data */ +); + +extern int XFreeColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern int XFreeColors( + Display* /* display */, + Colormap /* colormap */, + unsigned long* /* pixels */, + int /* npixels */, + unsigned long /* planes */ +); + +extern int XFreeCursor( + Display* /* display */, + Cursor /* cursor */ +); + +extern int XFreeExtensionList( + char** /* list */ +); + +extern int XFreeFont( + Display* /* display */, + XFontStruct* /* font_struct */ +); + +extern int XFreeFontInfo( + char** /* names */, + XFontStruct* /* free_info */, + int /* actual_count */ +); + +extern int XFreeFontNames( + char** /* list */ +); + +extern int XFreeFontPath( + char** /* list */ +); + +extern int XFreeGC( + Display* /* display */, + GC /* gc */ +); + +extern int XFreeModifiermap( + XModifierKeymap* /* modmap */ +); + +extern int XFreePixmap( + Display* /* display */, + Pixmap /* pixmap */ +); + +extern int XGeometry( + Display* /* display */, + int /* screen */, + _Xconst char* /* position */, + _Xconst char* /* default_position */, + unsigned int /* bwidth */, + unsigned int /* fwidth */, + unsigned int /* fheight */, + int /* xadder */, + int /* yadder */, + int* /* x_return */, + int* /* y_return */, + int* /* width_return */, + int* /* height_return */ +); + +extern int XGetErrorDatabaseText( + Display* /* display */, + _Xconst char* /* name */, + _Xconst char* /* message */, + _Xconst char* /* default_string */, + char* /* buffer_return */, + int /* length */ +); + +extern int XGetErrorText( + Display* /* display */, + int /* code */, + char* /* buffer_return */, + int /* length */ +); + +extern Bool XGetFontProperty( + XFontStruct* /* font_struct */, + Atom /* atom */, + unsigned long* /* value_return */ +); + +extern Status XGetGCValues( + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values_return */ +); + +extern Status XGetGeometry( + Display* /* display */, + Drawable /* d */, + Window* /* root_return */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + unsigned int* /* border_width_return */, + unsigned int* /* depth_return */ +); + +extern Status XGetIconName( + Display* /* display */, + Window /* w */, + char** /* icon_name_return */ +); + +extern int XGetInputFocus( + Display* /* display */, + Window* /* focus_return */, + int* /* revert_to_return */ +); + +extern int XGetKeyboardControl( + Display* /* display */, + XKeyboardState* /* values_return */ +); + +extern int XGetPointerControl( + Display* /* display */, + int* /* accel_numerator_return */, + int* /* accel_denominator_return */, + int* /* threshold_return */ +); + +extern int XGetPointerMapping( + Display* /* display */, + unsigned char* /* map_return */, + int /* nmap */ +); + +extern int XGetScreenSaver( + Display* /* display */, + int* /* timeout_return */, + int* /* interval_return */, + int* /* prefer_blanking_return */, + int* /* allow_exposures_return */ +); + +extern Status XGetTransientForHint( + Display* /* display */, + Window /* w */, + Window* /* prop_window_return */ +); + +extern int XGetWindowProperty( + Display* /* display */, + Window /* w */, + Atom /* property */, + long /* long_offset */, + long /* long_length */, + Bool /* delete */, + Atom /* req_type */, + Atom* /* actual_type_return */, + int* /* actual_format_return */, + unsigned long* /* nitems_return */, + unsigned long* /* bytes_after_return */, + unsigned char** /* prop_return */ +); + +extern Status XGetWindowAttributes( + Display* /* display */, + Window /* w */, + XWindowAttributes* /* window_attributes_return */ +); + +extern int XGrabButton( + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */ +); + +extern int XGrabKey( + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern int XGrabKeyboard( + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */, + Time /* time */ +); + +extern int XGrabPointer( + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */, + Time /* time */ +); + +extern int XGrabServer( + Display* /* display */ +); + +extern int XHeightMMOfScreen( + Screen* /* screen */ +); + +extern int XHeightOfScreen( + Screen* /* screen */ +); + +extern int XIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern int XImageByteOrder( + Display* /* display */ +); + +extern int XInstallColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern KeyCode XKeysymToKeycode( + Display* /* display */, + KeySym /* keysym */ +); + +extern int XKillClient( + Display* /* display */, + XID /* resource */ +); + +extern Status XLookupColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* exact_def_return */, + XColor* /* screen_def_return */ +); + +extern int XLowerWindow( + Display* /* display */, + Window /* w */ +); + +extern int XMapRaised( + Display* /* display */, + Window /* w */ +); + +extern int XMapSubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XMapWindow( + Display* /* display */, + Window /* w */ +); + +extern int XMaskEvent( + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XMaxCmapsOfScreen( + Screen* /* screen */ +); + +extern int XMinCmapsOfScreen( + Screen* /* screen */ +); + +extern int XMoveResizeWindow( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XMoveWindow( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */ +); + +extern int XNextEvent( + Display* /* display */, + XEvent* /* event_return */ +); + +extern int XNoOp( + Display* /* display */ +); + +extern Status XParseColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* spec */, + XColor* /* exact_def_return */ +); + +extern int XParseGeometry( + _Xconst char* /* parsestring */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern int XPeekEvent( + Display* /* display */, + XEvent* /* event_return */ +); + +extern int XPeekIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern int XPending( + Display* /* display */ +); + +extern int XPlanesOfScreen( + Screen* /* screen */ +); + +extern int XProtocolRevision( + Display* /* display */ +); + +extern int XProtocolVersion( + Display* /* display */ +); + + +extern int XPutBackEvent( + Display* /* display */, + XEvent* /* event */ +); + +extern int XPutImage( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XImage* /* image */, + int /* src_x */, + int /* src_y */, + int /* dest_x */, + int /* dest_y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XQLength( + Display* /* display */ +); + +extern Status XQueryBestCursor( + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestSize( + Display* /* display */, + int /* class */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestStipple( + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestTile( + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern int XQueryColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* def_in_out */ +); + +extern int XQueryColors( + Display* /* display */, + Colormap /* colormap */, + XColor* /* defs_in_out */, + int /* ncolors */ +); + +extern Bool XQueryExtension( + Display* /* display */, + _Xconst char* /* name */, + int* /* major_opcode_return */, + int* /* first_event_return */, + int* /* first_error_return */ +); + +extern int XQueryKeymap( + Display* /* display */, + char [32] /* keys_return */ +); + +extern Bool XQueryPointer( + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* child_return */, + int* /* root_x_return */, + int* /* root_y_return */, + int* /* win_x_return */, + int* /* win_y_return */, + unsigned int* /* mask_return */ +); + +extern int XQueryTextExtents( + Display* /* display */, + XID /* font_ID */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XQueryTextExtents16( + Display* /* display */, + XID /* font_ID */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern Status XQueryTree( + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* parent_return */, + Window** /* children_return */, + unsigned int* /* nchildren_return */ +); + +extern int XRaiseWindow( + Display* /* display */, + Window /* w */ +); + +extern int XReadBitmapFile( + Display* /* display */, + Drawable /* d */, + _Xconst char* /* filename */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + Pixmap* /* bitmap_return */, + int* /* x_hot_return */, + int* /* y_hot_return */ +); + +extern int XReadBitmapFileData( + _Xconst char* /* filename */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + unsigned char** /* data_return */, + int* /* x_hot_return */, + int* /* y_hot_return */ +); + +extern int XRebindKeysym( + Display* /* display */, + KeySym /* keysym */, + KeySym* /* list */, + int /* mod_count */, + _Xconst unsigned char* /* string */, + int /* bytes_string */ +); + +extern int XRecolorCursor( + Display* /* display */, + Cursor /* cursor */, + XColor* /* foreground_color */, + XColor* /* background_color */ +); + +extern int XRefreshKeyboardMapping( + XMappingEvent* /* event_map */ +); + +extern int XRemoveFromSaveSet( + Display* /* display */, + Window /* w */ +); + +extern int XRemoveHost( + Display* /* display */, + XHostAddress* /* host */ +); + +extern int XRemoveHosts( + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +); + +extern int XReparentWindow( + Display* /* display */, + Window /* w */, + Window /* parent */, + int /* x */, + int /* y */ +); + +extern int XResetScreenSaver( + Display* /* display */ +); + +extern int XResizeWindow( + Display* /* display */, + Window /* w */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XRestackWindows( + Display* /* display */, + Window* /* windows */, + int /* nwindows */ +); + +extern int XRotateBuffers( + Display* /* display */, + int /* rotate */ +); + +extern int XRotateWindowProperties( + Display* /* display */, + Window /* w */, + Atom* /* properties */, + int /* num_prop */, + int /* npositions */ +); + +extern int XScreenCount( + Display* /* display */ +); + +extern int XSelectInput( + Display* /* display */, + Window /* w */, + long /* event_mask */ +); + +extern Status XSendEvent( + Display* /* display */, + Window /* w */, + Bool /* propagate */, + long /* event_mask */, + XEvent* /* event_send */ +); + +extern int XSetAccessControl( + Display* /* display */, + int /* mode */ +); + +extern int XSetArcMode( + Display* /* display */, + GC /* gc */, + int /* arc_mode */ +); + +extern int XSetBackground( + Display* /* display */, + GC /* gc */, + unsigned long /* background */ +); + +extern int XSetClipMask( + Display* /* display */, + GC /* gc */, + Pixmap /* pixmap */ +); + +extern int XSetClipOrigin( + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */ +); + +extern int XSetClipRectangles( + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */, + XRectangle* /* rectangles */, + int /* n */, + int /* ordering */ +); + +extern int XSetCloseDownMode( + Display* /* display */, + int /* close_mode */ +); + +extern int XSetCommand( + Display* /* display */, + Window /* w */, + char** /* argv */, + int /* argc */ +); + +extern int XSetDashes( + Display* /* display */, + GC /* gc */, + int /* dash_offset */, + _Xconst char* /* dash_list */, + int /* n */ +); + +extern int XSetFillRule( + Display* /* display */, + GC /* gc */, + int /* fill_rule */ +); + +extern int XSetFillStyle( + Display* /* display */, + GC /* gc */, + int /* fill_style */ +); + +extern int XSetFont( + Display* /* display */, + GC /* gc */, + Font /* font */ +); + +extern int XSetFontPath( + Display* /* display */, + char** /* directories */, + int /* ndirs */ +); + +extern int XSetForeground( + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */ +); + +extern int XSetFunction( + Display* /* display */, + GC /* gc */, + int /* function */ +); + +extern int XSetGraphicsExposures( + Display* /* display */, + GC /* gc */, + Bool /* graphics_exposures */ +); + +extern int XSetIconName( + Display* /* display */, + Window /* w */, + _Xconst char* /* icon_name */ +); + +extern int XSetInputFocus( + Display* /* display */, + Window /* focus */, + int /* revert_to */, + Time /* time */ +); + +extern int XSetLineAttributes( + Display* /* display */, + GC /* gc */, + unsigned int /* line_width */, + int /* line_style */, + int /* cap_style */, + int /* join_style */ +); + +extern int XSetModifierMapping( + Display* /* display */, + XModifierKeymap* /* modmap */ +); + +extern int XSetPlaneMask( + Display* /* display */, + GC /* gc */, + unsigned long /* plane_mask */ +); + +extern int XSetPointerMapping( + Display* /* display */, + _Xconst unsigned char* /* map */, + int /* nmap */ +); + +extern int XSetScreenSaver( + Display* /* display */, + int /* timeout */, + int /* interval */, + int /* prefer_blanking */, + int /* allow_exposures */ +); + +extern int XSetSelectionOwner( + Display* /* display */, + Atom /* selection */, + Window /* owner */, + Time /* time */ +); + +extern int XSetState( + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */, + unsigned long /* background */, + int /* function */, + unsigned long /* plane_mask */ +); + +extern int XSetStipple( + Display* /* display */, + GC /* gc */, + Pixmap /* stipple */ +); + +extern int XSetSubwindowMode( + Display* /* display */, + GC /* gc */, + int /* subwindow_mode */ +); + +extern int XSetTSOrigin( + Display* /* display */, + GC /* gc */, + int /* ts_x_origin */, + int /* ts_y_origin */ +); + +extern int XSetTile( + Display* /* display */, + GC /* gc */, + Pixmap /* tile */ +); + +extern int XSetWindowBackground( + Display* /* display */, + Window /* w */, + unsigned long /* background_pixel */ +); + +extern int XSetWindowBackgroundPixmap( + Display* /* display */, + Window /* w */, + Pixmap /* background_pixmap */ +); + +extern int XSetWindowBorder( + Display* /* display */, + Window /* w */, + unsigned long /* border_pixel */ +); + +extern int XSetWindowBorderPixmap( + Display* /* display */, + Window /* w */, + Pixmap /* border_pixmap */ +); + +extern int XSetWindowBorderWidth( + Display* /* display */, + Window /* w */, + unsigned int /* width */ +); + +extern int XSetWindowColormap( + Display* /* display */, + Window /* w */, + Colormap /* colormap */ +); + +extern int XStoreBuffer( + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */, + int /* buffer */ +); + +extern int XStoreBytes( + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */ +); + +extern int XStoreColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */ +); + +extern int XStoreColors( + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */, + int /* ncolors */ +); + +extern int XStoreName( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */ +); + +extern int XStoreNamedColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color */, + unsigned long /* pixel */, + int /* flags */ +); + +extern int XSync( + Display* /* display */, + Bool /* discard */ +); + +extern int XTextExtents( + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XTextExtents16( + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XTextWidth( + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* count */ +); + +extern int XTextWidth16( + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* count */ +); + +extern Bool XTranslateCoordinates( + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + int* /* dest_x_return */, + int* /* dest_y_return */, + Window* /* child_return */ +); + +extern int XUndefineCursor( + Display* /* display */, + Window /* w */ +); + +extern int XUngrabButton( + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */ +); + +extern int XUngrabKey( + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */ +); + +extern int XUngrabKeyboard( + Display* /* display */, + Time /* time */ +); + +extern int XUngrabPointer( + Display* /* display */, + Time /* time */ +); + +extern int XUngrabServer( + Display* /* display */ +); + +extern int XUninstallColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern int XUnloadFont( + Display* /* display */, + Font /* font */ +); + +extern int XUnmapSubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XUnmapWindow( + Display* /* display */, + Window /* w */ +); + +extern int XVendorRelease( + Display* /* display */ +); + +extern int XWarpPointer( + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + unsigned int /* src_width */, + unsigned int /* src_height */, + int /* dest_x */, + int /* dest_y */ +); + +extern int XWidthMMOfScreen( + Screen* /* screen */ +); + +extern int XWidthOfScreen( + Screen* /* screen */ +); + +extern int XWindowEvent( + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XWriteBitmapFile( + Display* /* display */, + _Xconst char* /* filename */, + Pixmap /* bitmap */, + unsigned int /* width */, + unsigned int /* height */, + int /* x_hot */, + int /* y_hot */ +); + +extern Bool XSupportsLocale (void); + +extern char *XSetLocaleModifiers( + const char* /* modifier_list */ +); + +extern XOM XOpenOM( + Display* /* display */, + struct _XrmHashBucketRec* /* rdb */, + _Xconst char* /* res_name */, + _Xconst char* /* res_class */ +); + +extern Status XCloseOM( + XOM /* om */ +); + +extern char *XSetOMValues( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern char *XGetOMValues( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern Display *XDisplayOfOM( + XOM /* om */ +); + +extern char *XLocaleOfOM( + XOM /* om */ +); + +extern XOC XCreateOC( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern void XDestroyOC( + XOC /* oc */ +); + +extern XOM XOMOfOC( + XOC /* oc */ +); + +extern char *XSetOCValues( + XOC /* oc */, + ... +) _X_SENTINEL(0); + +extern char *XGetOCValues( + XOC /* oc */, + ... +) _X_SENTINEL(0); + +extern XFontSet XCreateFontSet( + Display* /* display */, + _Xconst char* /* base_font_name_list */, + char*** /* missing_charset_list */, + int* /* missing_charset_count */, + char** /* def_string */ +); + +extern void XFreeFontSet( + Display* /* display */, + XFontSet /* font_set */ +); + +extern int XFontsOfFontSet( + XFontSet /* font_set */, + XFontStruct*** /* font_struct_list */, + char*** /* font_name_list */ +); + +extern char *XBaseFontNameListOfFontSet( + XFontSet /* font_set */ +); + +extern char *XLocaleOfFontSet( + XFontSet /* font_set */ +); + +extern Bool XContextDependentDrawing( + XFontSet /* font_set */ +); + +extern Bool XDirectionalDependentDrawing( + XFontSet /* font_set */ +); + +extern Bool XContextualDrawing( + XFontSet /* font_set */ +); + +extern XFontSetExtents *XExtentsOfFontSet( + XFontSet /* font_set */ +); + +extern int XmbTextEscapement( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern int XwcTextEscapement( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern int Xutf8TextEscapement( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern int XmbTextExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern int XwcTextExtents( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern int Xutf8TextExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status XmbTextPerCharExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status XwcTextPerCharExtents( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status Xutf8TextPerCharExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern void XmbDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XmbTextItem* /* text_items */, + int /* nitems */ +); + +extern void XwcDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XwcTextItem* /* text_items */, + int /* nitems */ +); + +extern void Xutf8DrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XmbTextItem* /* text_items */, + int /* nitems */ +); + +extern void XmbDrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XwcDrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern void Xutf8DrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XmbDrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XwcDrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern void Xutf8DrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern XIM XOpenIM( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */ +); + +extern Status XCloseIM( + XIM /* im */ +); + +extern char *XGetIMValues( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern char *XSetIMValues( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern Display *XDisplayOfIM( + XIM /* im */ +); + +extern char *XLocaleOfIM( + XIM /* im*/ +); + +extern XIC XCreateIC( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern void XDestroyIC( + XIC /* ic */ +); + +extern void XSetICFocus( + XIC /* ic */ +); + +extern void XUnsetICFocus( + XIC /* ic */ +); + +extern wchar_t *XwcResetIC( + XIC /* ic */ +); + +extern char *XmbResetIC( + XIC /* ic */ +); + +extern char *Xutf8ResetIC( + XIC /* ic */ +); + +extern char *XSetICValues( + XIC /* ic */, ... +) _X_SENTINEL(0); + +extern char *XGetICValues( + XIC /* ic */, ... +) _X_SENTINEL(0); + +extern XIM XIMOfIC( + XIC /* ic */ +); + +extern Bool XFilterEvent( + XEvent* /* event */, + Window /* window */ +); + +extern int XmbLookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern int XwcLookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + wchar_t* /* buffer_return */, + int /* wchars_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern int Xutf8LookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern XVaNestedList XVaCreateNestedList( + int /*unused*/, ... +) _X_SENTINEL(0); + +/* internal connections for IMs */ + +extern Bool XRegisterIMInstantiateCallback( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */, + XIDProc /* callback */, + XPointer /* client_data */ +); + +extern Bool XUnregisterIMInstantiateCallback( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */, + XIDProc /* callback */, + XPointer /* client_data */ +); + +typedef void (*XConnectionWatchProc)( + Display* /* dpy */, + XPointer /* client_data */, + int /* fd */, + Bool /* opening */, /* open or close flag */ + XPointer* /* watch_data */ /* open sets, close uses */ +); + + +extern Status XInternalConnectionNumbers( + Display* /* dpy */, + int** /* fd_return */, + int* /* count_return */ +); + +extern void XProcessInternalConnection( + Display* /* dpy */, + int /* fd */ +); + +extern Status XAddConnectionWatch( + Display* /* dpy */, + XConnectionWatchProc /* callback */, + XPointer /* client_data */ +); + +extern void XRemoveConnectionWatch( + Display* /* dpy */, + XConnectionWatchProc /* callback */, + XPointer /* client_data */ +); + +extern void XSetAuthorization( + char * /* name */, + int /* namelen */, + char * /* data */, + int /* datalen */ +); + +extern int _Xmbtowc( + wchar_t * /* wstr */, +#ifdef ISC + char const * /* str */, + size_t /* len */ +#else + char * /* str */, + int /* len */ +#endif +); + +extern int _Xwctomb( + char * /* str */, + wchar_t /* wc */ +); + +extern Bool XGetEventData( + Display* /* dpy */, + XGenericEventCookie* /* cookie*/ +); + +extern void XFreeEventData( + Display* /* dpy */, + XGenericEventCookie* /* cookie*/ +); + +_XFUNCPROTOEND + +#endif /* _XLIB_H_ */ diff --git a/X11/XlibConf.h b/X11/XlibConf.h new file mode 100644 index 000000000..eda569510 --- /dev/null +++ b/X11/XlibConf.h @@ -0,0 +1,37 @@ +/* + * Copyright © 2005 Keith Packard + * + * 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, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD 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 _XLIBCONF_H_ +#define _XLIBCONF_H_ +/* + * This header file exports defines necessary to correctly + * use Xlibint.h both inside Xlib and by external libraries + * such as extensions. + */ + +/* Threading support? */ +#define XTHREADS /**/ + +/* Use multi-threaded libc functions? */ +#define XUSE_MTSAFE_API /**/ + +#endif /* _XLIBCONF_H_ */ diff --git a/X11/Xlibint.h b/X11/Xlibint.h new file mode 100644 index 000000000..1b8fd5158 --- /dev/null +++ b/X11/Xlibint.h @@ -0,0 +1,1403 @@ +
+/*
+
+Copyright 1984, 1985, 1987, 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.
+
+*/
+
+#ifndef _XLIBINT_H_
+#define _XLIBINT_H_ 1
+
+/*
+ * Xlibint.h - Header definition and support file for the internal
+ * support routines used by the C subroutine interface
+ * library (Xlib) to the X Window System.
+ *
+ * Warning, there be dragons here....
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xproto.h> /* to declare xEvent */
+#include <X11/XlibConf.h> /* for configured options like XTHREADS */
+
+#ifdef WIN32
+#define _XFlush _XFlushIt
+#endif
+
+/*
+ * If your BytesReadable correctly detects broken connections, then
+ * you should NOT define XCONN_CHECK_FREQ.
+ */
+#ifndef XCONN_CHECK_FREQ
+#define XCONN_CHECK_FREQ 256
+#endif
+
+struct _XGC
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ Bool rects; /* boolean: TRUE if clipmask is list of rectangles */
+ Bool dashes; /* boolean: TRUE if dash-list is really a list */
+ unsigned long dirty;/* cache dirty bits */
+ XGCValues values; /* shadow structure of values */
+};
+
+struct _XDisplay
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XFreeFuncs *free_funcs; /* internal free functions */
+ int fd; /* Network socket. */
+ int conn_checker; /* ugly thing used by _XEventsQueued */
+ int proto_major_version;/* maj. version of server's X protocol */
+ int proto_minor_version;/* minor version of server's X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID resource_base; /* resource ID base */
+ XID resource_mask; /* resource ID mask bits */
+ XID resource_id; /* allocator current ID */
+ int resource_shift; /* allocator shift to correct bits */
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int vnumber; /* Xlib's X protocol version number. */
+ int release; /* release of the server */
+ struct _XSQEvent *head, *tail; /* Input event queue. */
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ char *last_req; /* beginning of last request, or dummy */
+ char *buffer; /* Output buffer starting address. */
+ char *bufptr; /* Output buffer index pointer. */
+ char *bufmax; /* Output buffer maximum+1 address. */
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*synchandler)( /* Synchronization handler */
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ volatile unsigned long flags; /* internal connection flags */
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ KeySym *keysyms; /* This server's keysyms */
+ XModifierKeymap *modifiermap; /* This server's modifier keymap */
+ int keysyms_per_keycode;/* number of rows */
+ char *xdefaults; /* contents of defaults from server */
+ char *scratch_buffer; /* place to hang scratch buffer */
+ unsigned long scratch_length; /* length of scratch buffer */
+ int ext_number; /* extension number on this display */
+ struct _XExten *ext_procs; /* extensions initialized on this display */
+ /*
+ * the following can be fixed size, as the protocol defines how
+ * much address space is available.
+ * While this could be done using the extension vector, there
+ * may be MANY events processed, so a search through the extension
+ * list to find the right procedure for each event might be
+ * expensive if many extensions are being used.
+ */
+ Bool (*event_vec[128])( /* vector for wire to event */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ Status (*wire_vec[128])( /* vector for event to wire */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ KeySym lock_meaning; /* for XLookupString */
+ struct _XLockInfo *lock; /* multi-thread state, display lock */
+ struct _XInternalAsync *async_handlers; /* for internal async */
+ unsigned long bigreq_size; /* max size of big requests */
+ struct _XLockPtrs *lock_fns; /* pointers to threads functions */
+ void (*idlist_alloc)( /* XID list allocator function */
+ Display * /* dpy */,
+ XID * /* ids */,
+ int /* count */
+ );
+ /* things above this line should not move, for binary compatibility */
+ struct _XKeytrans *key_bindings; /* for XLookupString */
+ Font cursor_font; /* for XCreateFontCursor */
+ struct _XDisplayAtoms *atoms; /* for XInternAtom */
+ unsigned int mode_switch; /* keyboard group modifiers */
+ unsigned int num_lock; /* keyboard numlock modifiers */
+ struct _XContextDB *context_db; /* context database */
+ Bool (**error_vec)( /* vector for wire to error */
+ Display * /* display */,
+ XErrorEvent * /* he */,
+ xError * /* we */
+ );
+ /*
+ * Xcms information
+ */
+ struct {
+ XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */
+ XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */
+ XPointer perVisualIntensityMaps;
+ /* linked list of XcmsIntensityMap */
+ } cms;
+ struct _XIMFilter *im_filters;
+ struct _XSQEvent *qfree; /* unallocated event queue elements */
+ unsigned long next_event_serial_num; /* inserted into next queue elt */
+ struct _XExten *flushes; /* Flush hooks */
+ struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */
+ int im_fd_length; /* number of im_fd_info */
+ struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */
+ int watcher_count; /* number of conn_watchers */
+ XPointer filedes; /* struct pollfd cache for _XWaitForReadable */
+ int (*savedsynchandler)( /* user synchandler when Xlib usurps */
+ Display * /* dpy */
+ );
+ XID resource_max; /* allocator max ID */
+ int xcmisc_opcode; /* major opcode for XC-MISC */
+ struct _XkbInfoRec *xkb_info; /* XKB info */
+ struct _XtransConnInfo *trans_conn; /* transport connection object */
+ struct _X11XCBPrivate *xcb; /* XCB glue private data */
+
+ /* Generic event cookie handling */
+ unsigned int next_cookie; /* next event cookie */
+ /* vector for wire to generic event, index is (extension - 128) */
+ Bool (*generic_event_vec[128])(
+ Display * /* dpy */,
+ XGenericEventCookie * /* Xlib event */,
+ xEvent * /* wire event */);
+ /* vector for event copy, index is (extension - 128) */
+ Bool (*generic_event_copy_vec[128])(
+ Display * /* dpy */,
+ XGenericEventCookie * /* in */,
+ XGenericEventCookie * /* out*/);
+ void *cookiejar; /* cookie events returned but not claimed */
+};
+
+#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n)
+
+/*
+ * define the following if you want the Data macro to be a procedure instead
+ */
+#ifdef CRAY
+#define DataRoutineIsProcedure
+#endif /* CRAY */
+
+#ifndef _XEVENT_
+/*
+ * _QEvent datatype for use in input queueing.
+ */
+typedef struct _XSQEvent
+{
+ struct _XSQEvent *next;
+ XEvent event;
+ unsigned long qserial_num; /* so multi-threaded code can find new ones */
+} _XQEvent;
+#endif
+
+#ifdef XTHREADS /* for xReply */
+#define NEED_REPLIES
+#endif
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+#include <X11/Xproto.h>
+#ifdef __sgi
+#define _SGI_MP_SOURCE /* turn this on to get MP safe errno */
+#endif
+#include <errno.h>
+#define _XBCOPYFUNC _Xbcopy
+#include <X11/Xfuncs.h>
+#include <X11/Xosdefs.h>
+
+/* Utek leaves kernel macros around in include files (bleah) */
+#ifdef dirty
+#undef dirty
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * The following definitions can be used for locking requests in multi-threaded
+ * address spaces.
+ */
+#ifdef XTHREADS
+/* Author: Stephen Gildea, MIT X Consortium
+ *
+ * declarations for C Threads locking
+ */
+
+typedef struct _LockInfoRec *LockInfoPtr;
+
+/* interfaces for locking.c */
+struct _XLockPtrs {
+ /* used by all, including extensions; do not move */
+ void (*lock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+ void (*unlock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+};
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _XCreateMutex_fn (*_XCreateMutex_fn_p)
+#define _XFreeMutex_fn (*_XFreeMutex_fn_p)
+#define _XLockMutex_fn (*_XLockMutex_fn_p)
+#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p)
+#define _Xglobal_lock (*_Xglobal_lock_p)
+#endif
+
+/* in XlibInt.c */
+extern void (*_XCreateMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XFreeMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XLockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+extern void (*_XUnlockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+
+extern LockInfoPtr _Xglobal_lock;
+
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)((d),__FILE__,__LINE__)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock,__FILE__,__LINE__)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock,__FILE__,__LINE__)
+#else
+/* used everywhere, so must be fast if not using threads */
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock)
+#endif
+#define _XCreateMutex(lock) if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock);
+#define _XFreeMutex(lock) if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock);
+
+#else /* XTHREADS */
+#define LockDisplay(dis)
+#define _XLockMutex(lock)
+#define _XUnlockMutex(lock)
+#define UnlockDisplay(dis)
+#define _XCreateMutex(lock)
+#define _XFreeMutex(lock)
+#endif
+
+#define Xfree(ptr) free((ptr))
+
+/*
+ * Note that some machines do not return a valid pointer for malloc(0), in
+ * which case we provide an alternate under the control of the
+ * define MALLOC_0_RETURNS_NULL. This is necessary because some
+ * Xlib code expects malloc(0) to return a valid pointer to storage.
+ */
+#ifdef MALLOC_0_RETURNS_NULL
+
+# define Xmalloc(size) malloc(((size) == 0 ? 1 : (size)))
+# define Xrealloc(ptr, size) realloc((ptr), ((size) == 0 ? 1 : (size)))
+# define Xcalloc(nelem, elsize) calloc(((nelem) == 0 ? 1 : (nelem)), (elsize))
+
+#else
+
+# define Xmalloc(size) malloc((size))
+# define Xrealloc(ptr, size) realloc((ptr), (size))
+# define Xcalloc(nelem, elsize) calloc((nelem), (elsize))
+
+#endif
+
+#include <stddef.h>
+
+#define LOCKED 1
+#define UNLOCKED 0
+
+#ifndef BUFSIZE
+#define BUFSIZE 2048 /* X output buffer size. */
+#endif
+#ifndef PTSPERBATCH
+#define PTSPERBATCH 1024 /* point batching */
+#endif
+#ifndef WLNSPERBATCH
+#define WLNSPERBATCH 50 /* wide line batching */
+#endif
+#ifndef ZLNSPERBATCH
+#define ZLNSPERBATCH 1024 /* thin line batching */
+#endif
+#ifndef WRCTSPERBATCH
+#define WRCTSPERBATCH 10 /* wide line rectangle batching */
+#endif
+#ifndef ZRCTSPERBATCH
+#define ZRCTSPERBATCH 256 /* thin line rectangle batching */
+#endif
+#ifndef FRCTSPERBATCH
+#define FRCTSPERBATCH 256 /* filled rectangle batching */
+#endif
+#ifndef FARCSPERBATCH
+#define FARCSPERBATCH 256 /* filled arc batching */
+#endif
+#ifndef CURSORFONT
+#define CURSORFONT "cursor" /* standard cursor fonts */
+#endif
+
+/*
+ * Display flags
+ */
+#define XlibDisplayIOError (1L << 0)
+#define XlibDisplayClosing (1L << 1)
+#define XlibDisplayNoXkb (1L << 2)
+#define XlibDisplayPrivSync (1L << 3)
+#define XlibDisplayProcConni (1L << 4) /* in _XProcessInternalConnection */
+#define XlibDisplayReadEvents (1L << 5) /* in _XReadEvents */
+#define XlibDisplayReply (1L << 5) /* in _XReply */
+#define XlibDisplayWriting (1L << 6) /* in _XFlushInt, _XSend */
+#define XlibDisplayDfltRMDB (1L << 7) /* mark if RM db from XGetDefault */
+
+/*
+ * X Protocol packetizing macros.
+ */
+
+/* Need to start requests on 64 bit word boundaries
+ * on a CRAY computer so add a NoOp (127) if needed.
+ * A character pointer on a CRAY computer will be non-zero
+ * after shifting right 61 bits of it is not pointing to
+ * a word boundary.
+ */
+#ifdef WORD64
+#define WORD64ALIGN if ((long)dpy->bufptr >> 61) {\
+ dpy->last_req = dpy->bufptr;\
+ *(dpy->bufptr) = X_NoOperation;\
+ *(dpy->bufptr+1) = 0;\
+ *(dpy->bufptr+2) = 0;\
+ *(dpy->bufptr+3) = 1;\
+ dpy->request++;\
+ dpy->bufptr += 4;\
+ }
+#else /* else does not require alignment on 64-bit boundaries */
+#define WORD64ALIGN
+#endif /* WORD64 */
+
+
+/*
+ * GetReq - Get the next available X request packet in the buffer and
+ * return it.
+ *
+ * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc.
+ * "req" is the name of the request pointer.
+ *
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x##name##Req)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = (SIZEOF(x##name##Req))>>2;\
+ dpy->bufptr += SIZEOF(x##name##Req);\
+ dpy->request++
+
+#else /* non-ANSI C uses empty comment instead of "##" for token concatenation */
+#define GetReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x/**/name/**/Req)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = (SIZEOF(x/**/name/**/Req))>>2;\
+ dpy->bufptr += SIZEOF(x/**/name/**/Req);\
+ dpy->request++
+#endif
+
+/* GetReqExtra is the same as GetReq, but allocates "n" additional
+ bytes after the request. "n" must be a multiple of 4! */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReqExtra(name, n, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x##name##Req) + n) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = (SIZEOF(x##name##Req) + n)>>2;\
+ dpy->bufptr += SIZEOF(x##name##Req) + n;\
+ dpy->request++
+#else
+#define GetReqExtra(name, n, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x/**/name/**/Req) + n) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = (SIZEOF(x/**/name/**/Req) + n)>>2;\
+ dpy->bufptr += SIZEOF(x/**/name/**/Req) + n;\
+ dpy->request++
+#endif
+
+
+/*
+ * GetResReq is for those requests that have a resource ID
+ * (Window, Pixmap, GContext, etc.) as their single argument.
+ * "rid" is the name of the resource.
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetResReq(name, rid, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = 2;\
+ req->id = (rid);\
+ dpy->bufptr += SIZEOF(xResourceReq);\
+ dpy->request++
+#else
+#define GetResReq(name, rid, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = 2;\
+ req->id = (rid);\
+ dpy->bufptr += SIZEOF(xResourceReq);\
+ dpy->request++
+#endif
+
+/*
+ * GetEmptyReq is for those requests that have no arguments
+ * at all.
+ */
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetEmptyReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = 1;\
+ dpy->bufptr += SIZEOF(xReq);\
+ dpy->request++
+#else
+#define GetEmptyReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = 1;\
+ dpy->bufptr += SIZEOF(xReq);\
+ dpy->request++
+#endif
+
+#ifdef WORD64
+#define MakeBigReq(req,n) \
+ { \
+ char _BRdat[4]; \
+ unsigned long _BRlen = req->length - 1; \
+ req->length = 0; \
+ memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ memcpy(((char *)req) + 4, _BRdat, 4); \
+ Data32(dpy, (long *)&_BRdat, 4); \
+ }
+#else
+#ifdef LONG64
+#define MakeBigReq(req,n) \
+ { \
+ CARD64 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#else
+#define MakeBigReq(req,n) \
+ { \
+ CARD32 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#endif
+#endif
+
+#define SetReqLen(req,n,badlen) \
+ if ((req->length + n) > (unsigned)65535) { \
+ if (dpy->bigreq_size) { \
+ MakeBigReq(req,n) \
+ } else { \
+ n = badlen; \
+ req->length += n; \
+ } \
+ } else \
+ req->length += n
+
+#define SyncHandle() \
+ if (dpy->synchandler) (*dpy->synchandler)(dpy)
+
+extern void _XFlushGCCache(Display *dpy, GC gc);
+#define FlushGC(dpy, gc) \
+ if ((gc)->dirty) _XFlushGCCache((dpy), (gc))
+/*
+ * Data - Place data in the buffer and pad the end to provide
+ * 32 bit word alignment. Transmit if the buffer fills.
+ *
+ * "dpy" is a pointer to a Display.
+ * "data" is a pinter to a data buffer.
+ * "len" is the length of the data buffer.
+ */
+#ifndef DataRoutineIsProcedure
+#define Data(dpy, data, len) {\
+ if (dpy->bufptr + (len) <= dpy->bufmax) {\
+ memcpy(dpy->bufptr, data, (int)len);\
+ dpy->bufptr += ((len) + 3) & ~3;\
+ } else\
+ _XSend(dpy, data, len);\
+ }
+#endif /* DataRoutineIsProcedure */
+
+
+/* Allocate bytes from the buffer. No padding is done, so if
+ * the length is not a multiple of 4, the caller must be
+ * careful to leave the buffer aligned after sending the
+ * current request.
+ *
+ * "type" is the type of the pointer being assigned to.
+ * "ptr" is the pointer being assigned to.
+ * "n" is the number of bytes to allocate.
+ *
+ * Example:
+ * xTextElt *elt;
+ * BufAlloc (xTextElt *, elt, nbytes)
+ */
+
+#define BufAlloc(type, ptr, n) \
+ if (dpy->bufptr + (n) > dpy->bufmax) \
+ _XFlush (dpy); \
+ ptr = (type) dpy->bufptr; \
+ (void)ptr; \
+ dpy->bufptr += (n);
+
+#ifdef WORD64
+#define Data16(dpy, data, len) _XData16(dpy, (short *)data, len)
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+#else
+#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
+#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#ifdef LONG64
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+extern int _XData32(
+ Display *dpy,
+ register long *data,
+ unsigned len
+);
+extern void _XRead32(
+ Display *dpy,
+ register long *data,
+ long len
+);
+#else
+#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#endif
+#endif /* not WORD64 */
+
+#define PackData16(dpy,data,len) Data16 (dpy, data, len)
+#define PackData32(dpy,data,len) Data32 (dpy, data, len)
+
+/* Xlib manual is bogus */
+#define PackData(dpy,data,len) PackData16 (dpy, data, len)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+#define max(a,b) (((a) > (b)) ? (a) : (b))
+
+#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \
+ (((cs)->rbearing|(cs)->lbearing| \
+ (cs)->ascent|(cs)->descent) == 0))
+
+/*
+ * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
+ * character. If the character is in the column and exists, then return the
+ * appropriate metrics (note that fonts with common per-character metrics will
+ * return min_bounds). If none of these hold true, try again with the default
+ * char.
+ */
+#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \
+{ \
+ cs = def; \
+ if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_1D(fs,cs) \
+ CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)
+
+
+
+/*
+ * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
+ * column. This is used for fonts that have more than row zero.
+ */
+#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \
+{ \
+ cs = def; \
+ if (row >= fs->min_byte1 && row <= fs->max_byte1 && \
+ col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[((row - fs->min_byte1) * \
+ (fs->max_char_or_byte2 - \
+ fs->min_char_or_byte2 + 1)) + \
+ (col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_2D(fs,cs) \
+{ \
+ unsigned int r = (fs->default_char >> 8); \
+ unsigned int c = (fs->default_char & 0xff); \
+ CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \
+}
+
+
+#ifdef MUSTCOPY
+
+/* for when 32-bit alignment is not good enough */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { dpy->bufptr -= 4; Data32 (dpy, (char *) &(srcvar), 4); }
+
+#else
+
+/* srcvar must be a variable for large architecture version */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { *(CARD32 *)(dstaddr) = (srcvar); }
+
+#endif /* MUSTCOPY */
+
+typedef struct _XInternalAsync {
+ struct _XInternalAsync *next;
+ /*
+ * handler arguments:
+ * rep is the generic reply that caused this handler
+ * to be invoked. It must also be passed to _XGetAsyncReply.
+ * buf and len are opaque values that must be passed to
+ * _XGetAsyncReply or _XGetAsyncData.
+ * data is the closure stored in this struct.
+ * The handler returns True iff it handled this reply.
+ */
+ Bool (*handler)(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+ );
+ XPointer data;
+} _XAsyncHandler;
+
+typedef struct _XAsyncEState {
+ unsigned long min_sequence_number;
+ unsigned long max_sequence_number;
+ unsigned char error_code;
+ unsigned char major_opcode;
+ unsigned short minor_opcode;
+ unsigned char last_error_received;
+ int error_count;
+} _XAsyncErrorState;
+
+extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler);
+#define DeqAsyncHandler(dpy,handler) { \
+ if (dpy->async_handlers == (handler)) \
+ dpy->async_handlers = (handler)->next; \
+ else \
+ _XDeqAsyncHandler(dpy, handler); \
+ }
+
+typedef void (*FreeFuncType) (
+ Display* /* display */
+);
+
+typedef int (*FreeModmapType) (
+ XModifierKeymap* /* modmap */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XFreeFuncs {
+ FreeFuncType atoms; /* _XFreeAtomTable */
+ FreeModmapType modifiermap; /* XFreeModifierMap */
+ FreeFuncType key_bindings; /* _XFreeKeyBindings */
+ FreeFuncType context_db; /* _XFreeContextDB */
+ FreeFuncType defaultCCCs; /* _XcmsFreeDefaultCCCs */
+ FreeFuncType clientCmaps; /* _XcmsFreeClientCmaps */
+ FreeFuncType intensityMaps; /* _XcmsFreeIntensityMaps */
+ FreeFuncType im_filters; /* _XFreeIMFilters */
+ FreeFuncType xkb; /* _XkbFreeInfo */
+} _XFreeFuncRec;
+
+/* types for InitExt.c */
+typedef int (*CreateGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CopyGCType)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FlushGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CreateFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CloseDisplayType) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*ErrorType) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+);
+
+typedef char* (*ErrorStringType) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+);
+
+typedef void (*PrintErrorType)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+);
+
+typedef void (*BeforeFlushType)(
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XExten { /* private to extension mechanism */
+ struct _XExten *next; /* next in list */
+ XExtCodes codes; /* public information, all extension told */
+ CreateGCType create_GC; /* routine to call when GC created */
+ CopyGCType copy_GC; /* routine to call when GC copied */
+ FlushGCType flush_GC; /* routine to call when GC flushed */
+ FreeGCType free_GC; /* routine to call when GC freed */
+ CreateFontType create_Font; /* routine to call when Font created */
+ FreeFontType free_Font; /* routine to call when Font freed */
+ CloseDisplayType close_display; /* routine to call when connection closed */
+ ErrorType error; /* who to call when an error occurs */
+ ErrorStringType error_string; /* routine to supply error string */
+ char *name; /* name of this extension */
+ PrintErrorType error_values; /* routine to supply error values */
+ BeforeFlushType before_flush; /* routine to call when sending data */
+ struct _XExten *next_flush; /* next in list of those with flushes */
+} _XExtension;
+
+/* extension hooks */
+
+#ifdef DataRoutineIsProcedure
+extern void Data(Display *dpy, char *data, long len);
+#endif
+extern int _XError(
+ Display* /* dpy */,
+ xError* /* rep */
+);
+extern int _XIOError(
+ Display* /* dpy */
+);
+extern int (*_XIOErrorFunction)(
+ Display* /* dpy */
+);
+extern int (*_XErrorFunction)(
+ Display* /* dpy */,
+ XErrorEvent* /* error_event */
+);
+extern void _XEatData(
+ Display* /* dpy */,
+ unsigned long /* n */
+);
+extern char *_XAllocScratch(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern char *_XAllocTemp(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern void _XFreeTemp(
+ Display* /* dpy */,
+ char* /* buf */,
+ unsigned long /* nbytes */
+);
+extern Visual *_XVIDtoVisual(
+ Display* /* dpy */,
+ VisualID /* id */
+);
+extern unsigned long _XSetLastRequestRead(
+ Display* /* dpy */,
+ xGenericReply* /* rep */
+);
+extern int _XGetHostname(
+ char* /* buf */,
+ int /* maxlen */
+);
+extern Screen *_XScreenOfWindow(
+ Display* /* dpy */,
+ Window /* w */
+);
+extern Bool _XAsyncErrorHandler(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+);
+extern char *_XGetAsyncReply(
+ Display* /* dpy */,
+ char* /* replbuf */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XGetAsyncData(
+ Display* /* dpy */,
+ char * /* data */,
+ char * /* buf */,
+ int /* len */,
+ int /* skip */,
+ int /* datalen */,
+ int /* discardtotal */
+);
+extern void _XFlush(
+ Display* /* dpy */
+);
+extern int _XEventsQueued(
+ Display* /* dpy */,
+ int /* mode */
+);
+extern void _XReadEvents(
+ Display* /* dpy */
+);
+extern int _XRead(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XReadPad(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XSend(
+ Display* /* dpy */,
+ _Xconst char* /* data */,
+ long /* size */
+);
+extern Status _XReply(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XEnq(
+ Display* /* dpy */,
+ xEvent* /* event */
+);
+extern void _XDeq(
+ Display* /* dpy */,
+ _XQEvent* /* prev */,
+ _XQEvent* /* qelt */
+);
+
+extern Bool _XUnknownWireEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XUnknownWireEventCookie(
+ Display* /* dpy */,
+ XGenericEventCookie* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XUnknownCopyEventCookie(
+ Display* /* dpy */,
+ XGenericEventCookie* /* in */,
+ XGenericEventCookie* /* out */
+);
+
+extern Status _XUnknownNativeEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event);
+extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we);
+extern Bool _XPollfdCacheInit(Display *dpy);
+extern void _XPollfdCacheAdd(Display *dpy, int fd);
+extern void _XPollfdCacheDel(Display *dpy, int fd);
+extern XID _XAllocID(Display *dpy);
+extern void _XAllocIDs(Display *dpy, XID *ids, int count);
+
+extern int _XFreeExtData(
+ XExtData* /* extension */
+);
+
+extern int (*XESetCreateGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCopyGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFlushGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFreeGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCreateFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetFreeFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetCloseDisplay(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XExtCodes*
+);
+
+extern int (*XESetError(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+ ) /* proc */
+))(
+ Display*, xError*, XExtCodes*, int*
+);
+
+extern char* (*XESetErrorString(
+ Display* /* display */,
+ int /* extension */,
+ char* (*) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+ ) /* proc */
+))(
+ Display*, int, XExtCodes*, char*, int
+);
+
+extern void (*XESetPrintErrorValues (
+ Display* /* display */,
+ int /* extension */,
+ void (*)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, void*
+);
+
+extern Bool (*XESetWireToEvent(
+ Display* /* display */,
+ int /* event_number */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToEventCookie(
+ Display* /* display */,
+ int /* extension */,
+ Bool (*) (
+ Display* /* display */,
+ XGenericEventCookie* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XGenericEventCookie*, xEvent*
+);
+
+extern Bool (*XESetCopyEventCookie(
+ Display* /* display */,
+ int /* extension */,
+ Bool (*) (
+ Display* /* display */,
+ XGenericEventCookie* /* in */,
+ XGenericEventCookie* /* out */
+ ) /* proc */
+))(
+ Display*, XGenericEventCookie*, XGenericEventCookie*
+);
+
+
+extern Status (*XESetEventToWire(
+ Display* /* display */,
+ int /* event_number */,
+ Status (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToError(
+ Display* /* display */,
+ int /* error_number */,
+ Bool (*) (
+ Display* /* display */,
+ XErrorEvent* /* he */,
+ xError* /* we */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, xError*
+);
+
+extern void (*XESetBeforeFlush(
+ Display* /* display */,
+ int /* error_number */,
+ void (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+ ) /* proc */
+))(
+ Display*, XExtCodes*, _Xconst char*, long
+);
+
+/* internal connections for IMs */
+
+typedef void (*_XInternalConnectionProc)(
+ Display* /* dpy */,
+ int /* fd */,
+ XPointer /* call_data */
+);
+
+
+extern Status _XRegisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */,
+ _XInternalConnectionProc /* callback */,
+ XPointer /* call_data */
+);
+
+extern void _XUnregisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern void _XProcessInternalConnection(
+ Display* /* dpy */,
+ struct _XConnectionInfo* /* conn_info */
+);
+
+/* Display structure has pointers to these */
+
+struct _XConnectionInfo { /* info from _XRegisterInternalConnection */
+ int fd;
+ _XInternalConnectionProc read_callback;
+ XPointer call_data;
+ XPointer *watch_data; /* set/used by XConnectionWatchProc */
+ struct _XConnectionInfo *next;
+};
+
+struct _XConnWatchInfo { /* info from XAddConnectionWatch */
+ XConnectionWatchProc fn;
+ XPointer client_data;
+ struct _XConnWatchInfo *next;
+};
+
+#ifdef __UNIXOS2__
+extern char* __XOS2RedirRoot(
+ char*
+);
+#endif
+
+extern int _XTextHeight(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int _XTextHeight16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+#if defined(WIN32)
+
+extern int _XOpenFile(
+ _Xconst char* /* path */,
+ int /* flags */
+);
+
+extern int _XOpenFileMode(
+ _Xconst char* /* path */,
+ int /* flags */,
+ mode_t /* mode */
+);
+
+extern void* _XFopenFile(
+ _Xconst char* /* path */,
+ _Xconst char* /* mode */
+);
+
+extern int _XAccessFile(
+ _Xconst char* /* path */
+);
+#else
+#define _XOpenFile(path,flags) open(path,flags)
+#define _XOpenFileMode(path,flags,mode) open(path,flags,mode)
+#define _XFopenFile(path,mode) fopen(path,mode)
+#endif
+
+/* EvToWire.c */
+extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event);
+
+extern int _XF86LoadQueryLocaleFont(
+ Display* /* dpy */,
+ _Xconst char* /* name*/,
+ XFontStruct** /* xfp*/,
+ Font* /* fidp */
+);
+
+extern void _XProcessWindowAttributes (
+ register Display *dpy,
+ xChangeWindowAttributesReq *req,
+ register unsigned long valuemask,
+ register XSetWindowAttributes *attributes);
+
+extern int _XDefaultError(
+ Display *dpy,
+ XErrorEvent *event);
+
+extern int _XDefaultIOError(
+ Display *dpy);
+
+extern void _XSetClipRectangles (
+ register Display *dpy,
+ GC gc,
+ int clip_x_origin, int clip_y_origin,
+ XRectangle *rectangles,
+ int n,
+ int ordering);
+
+Status _XGetWindowAttributes(
+ register Display *dpy,
+ Window w,
+ XWindowAttributes *attr);
+
+int _XPutBackEvent (
+ register Display *dpy,
+ register XEvent *event);
+
+extern Bool _XIsEventCookie(
+ Display *dpy,
+ XEvent *ev);
+
+extern void _XFreeEventCookies(
+ Display *dpy);
+
+extern void _XStoreEventCookie(
+ Display *dpy,
+ XEvent *ev);
+
+extern Bool _XFetchEventCookie(
+ Display *dpy,
+ XGenericEventCookie *ev);
+
+extern Bool _XCopyEventCookie(
+ Display *dpy,
+ XGenericEventCookie *in,
+ XGenericEventCookie *out);
+
+/* lcFile.c */
+
+extern void xlocaledir(
+ char *buf,
+ int buf_len
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XLIBINT_H_ */
diff --git a/X11/Xlocale.h b/X11/Xlocale.h new file mode 100644 index 000000000..baa13353b --- /dev/null +++ b/X11/Xlocale.h @@ -0,0 +1,59 @@ +/* + +Copyright 1991, 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 _XLOCALE_H_ +#define _XLOCALE_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Xosdefs.h> + +#ifndef X_LOCALE +#include <locale.h> +#else + +#define LC_ALL 0 +#define LC_COLLATE 1 +#define LC_CTYPE 2 +#define LC_MONETARY 3 +#define LC_NUMERIC 4 +#define LC_TIME 5 + +_XFUNCPROTOBEGIN +extern char *_Xsetlocale( + int /* category */, + _Xconst char* /* name */ +); +_XFUNCPROTOEND + +#define setlocale _Xsetlocale + +#include <stddef.h> + +#endif /* X_LOCALE */ + +#endif /* _XLOCALE_H_ */ diff --git a/X11/Xmu/Atoms.h b/X11/Xmu/Atoms.h new file mode 100644 index 000000000..f7b4c8f7e --- /dev/null +++ b/X11/Xmu/Atoms.h @@ -0,0 +1,126 @@ +/* $Xorg: Atoms.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/Atoms.h,v 1.6 2001/01/17 19:42:53 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_ATOMS_H_ +#define _XMU_ATOMS_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +typedef struct _AtomRec *AtomPtr; + +extern AtomPtr + _XA_ATOM_PAIR, + _XA_CHARACTER_POSITION, + _XA_CLASS, + _XA_CLIENT_WINDOW, + _XA_CLIPBOARD, + _XA_COMPOUND_TEXT, + _XA_DECNET_ADDRESS, + _XA_DELETE, + _XA_FILENAME, + _XA_HOSTNAME, + _XA_IP_ADDRESS, + _XA_LENGTH, + _XA_LIST_LENGTH, + _XA_NAME, + _XA_NET_ADDRESS, + _XA_NULL, + _XA_OWNER_OS, + _XA_SPAN, + _XA_TARGETS, + _XA_TEXT, + _XA_TIMESTAMP, + _XA_USER, + _XA_UTF8_STRING; + +#define XA_ATOM_PAIR(d) XmuInternAtom(d, _XA_ATOM_PAIR) +#define XA_CHARACTER_POSITION(d) XmuInternAtom(d, _XA_CHARACTER_POSITION) +#define XA_CLASS(d) XmuInternAtom(d, _XA_CLASS) +#define XA_CLIENT_WINDOW(d) XmuInternAtom(d, _XA_CLIENT_WINDOW) +#define XA_CLIPBOARD(d) XmuInternAtom(d, _XA_CLIPBOARD) +#define XA_COMPOUND_TEXT(d) XmuInternAtom(d, _XA_COMPOUND_TEXT) +#define XA_DECNET_ADDRESS(d) XmuInternAtom(d, _XA_DECNET_ADDRESS) +#define XA_DELETE(d) XmuInternAtom(d, _XA_DELETE) +#define XA_FILENAME(d) XmuInternAtom(d, _XA_FILENAME) +#define XA_HOSTNAME(d) XmuInternAtom(d, _XA_HOSTNAME) +#define XA_IP_ADDRESS(d) XmuInternAtom(d, _XA_IP_ADDRESS) +#define XA_LENGTH(d) XmuInternAtom(d, _XA_LENGTH) +#define XA_LIST_LENGTH(d) XmuInternAtom(d, _XA_LIST_LENGTH) +#define XA_NAME(d) XmuInternAtom(d, _XA_NAME) +#define XA_NET_ADDRESS(d) XmuInternAtom(d, _XA_NET_ADDRESS) +#define XA_NULL(d) XmuInternAtom(d, _XA_NULL) +#define XA_OWNER_OS(d) XmuInternAtom(d, _XA_OWNER_OS) +#define XA_SPAN(d) XmuInternAtom(d, _XA_SPAN) +#define XA_TARGETS(d) XmuInternAtom(d, _XA_TARGETS) +#define XA_TEXT(d) XmuInternAtom(d, _XA_TEXT) +#define XA_TIMESTAMP(d) XmuInternAtom(d, _XA_TIMESTAMP) +#define XA_USER(d) XmuInternAtom(d, _XA_USER) +#define XA_UTF8_STRING(d) XmuInternAtom(d, _XA_UTF8_STRING) + +_XFUNCPROTOBEGIN + +char *XmuGetAtomName +( + Display *dpy, + Atom atom + ); + +Atom XmuInternAtom +( + Display *dpy, + AtomPtr atom_ptr + ); + +void XmuInternStrings +( + Display *dpy, + String *names, + Cardinal count, + Atom *atoms_return +); + +AtomPtr XmuMakeAtom +( + _Xconst char *name + ); + +char *XmuNameOfAtom +( + AtomPtr atom_ptr + ); + +_XFUNCPROTOEND + +#endif /* _XMU_ATOMS_H_ */ diff --git a/X11/Xmu/CharSet.h b/X11/Xmu/CharSet.h new file mode 100644 index 000000000..32cebfeda --- /dev/null +++ b/X11/Xmu/CharSet.h @@ -0,0 +1,77 @@ +/* $Xorg: CharSet.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ + +/* $XFree86: xc/lib/Xmu/CharSet.h,v 1.7 2001/01/17 19:42:53 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CHARSET_H_ +#define _XMU_CHARSET_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XmuCopyISOLatin1Lowered +( + char *dst_return, + _Xconst char *src + ); + +void XmuCopyISOLatin1Uppered +( + char *dst_return, + _Xconst char *src + ); + +int XmuCompareISOLatin1 +( + _Xconst char *first, + _Xconst char *second + ); + +void XmuNCopyISOLatin1Lowered +( + char *dst_return, + _Xconst char *src, + int size + ); + +void XmuNCopyISOLatin1Uppered +( + char *dst_return, + _Xconst char *src, + int size + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CHARSET_H_ */ diff --git a/X11/Xmu/CloseHook.h b/X11/Xmu/CloseHook.h new file mode 100644 index 000000000..1940a793b --- /dev/null +++ b/X11/Xmu/CloseHook.h @@ -0,0 +1,73 @@ +/* $Xorg: CloseHook.h,v 1.5 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/CloseHook.h,v 1.6 2001/01/17 19:42:53 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CLOSEHOOK_H_ +#define _XMU_CLOSEHOOK_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> +#include <X11/Xlibint.h> + +typedef XPointer CloseHook; + +typedef int (*XmuCloseHookProc)(Display *dpy, XPointer data); + +_XFUNCPROTOBEGIN + +CloseHook XmuAddCloseDisplayHook +( + Display *dpy, + XmuCloseHookProc proc, + XPointer arg + ); + +Bool XmuLookupCloseDisplayHook +( + Display *dpy, + CloseHook handle, + XmuCloseHookProc proc, + XPointer arg + ); + +Bool XmuRemoveCloseDisplayHook +( + Display *dpy, + CloseHook handle, + XmuCloseHookProc proc, + XPointer arg + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CLOSEHOOK_H_ */ diff --git a/X11/Xmu/Converters.h b/X11/Xmu/Converters.h new file mode 100644 index 000000000..11055d950 --- /dev/null +++ b/X11/Xmu/Converters.h @@ -0,0 +1,281 @@ +/* $Xorg: Converters.h,v 1.5 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ + +/* $XFree86: xc/lib/Xmu/Converters.h,v 1.5 2001/01/17 19:42:53 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_STRCONVERT_H_ +#define _XMU_STRCONVERT_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XmuCvtFunctionToCallback +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtNbackingStore "backingStore" +#define XtCBackingStore "BackingStore" +#define XtRBackingStore "BackingStore" +#define XtEnotUseful "notUseful" +#define XtEwhenMapped "whenMapped" +#define XtEalways "always" +#define XtEdefault "default" +void XmuCvtStringToBackingStore +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtBackingStoreToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +void XmuCvtStringToCursor +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtRColorCursor "ColorCursor" +#define XtNpointerColor "pointerColor" +#define XtNpointerColorBackground "pointerColorBackground" +Boolean XmuCvtStringToColorCursor +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef int XtGravity; + +#ifndef XtRGravity +#define XtRGravity "Gravity" +#endif +#define XtEForget "forget" +#define XtENorthWest "northwest" +#define XtENorth "north" +#define XtENorthEast "northeast" +#define XtEWest "west" +#define XtECenter "center" +#define XtEEast "east" +#define XtESouthWest "southwest" +#define XtESouth "south" +#define XtESouthEast "southeast" +#define XtEStatic "static" +#define XtEUnmap "unmap" +void XmuCvtStringToGravity +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtGravityToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef enum { + XtJustifyLeft, /* justify text to left side of button */ + XtJustifyCenter, /* justify text in center of button */ + XtJustifyRight /* justify text to right side of button */ +} XtJustify; +#ifndef XtRJustify +#define XtRJustify "Justify" +#endif +#define XtEleft "left" +#define XtEcenter "center" +#define XtEright "right" +#define XtEtop "top" +#define XtEbottom "bottom" +void XmuCvtStringToJustify +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtJustifyToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +#define XtRLong "Long" +void XmuCvtStringToLong +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); +Boolean XmuCvtLongToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef enum { + XtorientHorizontal, + XtorientVertical +} XtOrientation; +void XmuCvtStringToOrientation +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtOrientationToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +void XmuCvtStringToBitmap +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtRShapeStyle "ShapeStyle" +#define XtERectangle "Rectangle" +#define XtEOval "Oval" +#define XtEEllipse "Ellipse" +#define XtERoundedRectangle "RoundedRectangle" + +#define XmuShapeRectangle 1 +#define XmuShapeOval 2 +#define XmuShapeEllipse 3 +#define XmuShapeRoundedRectangle 4 + +Boolean XmuCvtStringToShapeStyle +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +Boolean XmuCvtShapeStyleToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +Boolean XmuReshapeWidget +( + Widget w, + int shape_style, + int corner_width, + int corner_height + ); + +void XmuCvtStringToWidget +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuNewCvtStringToWidget +( + Display *display, + XrmValue *args, + Cardinal *num_args, + XrmValue *fromVal, + XrmValue *toVal, + XtPointer *converter_data + ); + +Boolean XmuCvtWidgetToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValue *fromVal, + XrmValue *toVal, + XtPointer *converter_data + ); + +_XFUNCPROTOEND + +#endif /* _XMU_STRCONVERT_H_ */ diff --git a/X11/Xmu/CurUtil.h b/X11/Xmu/CurUtil.h new file mode 100644 index 000000000..27ab18848 --- /dev/null +++ b/X11/Xmu/CurUtil.h @@ -0,0 +1,49 @@ +/* $Xorg: CurUtil.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/CurUtil.h,v 1.5 2001/01/17 19:42:54 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CURUTIL_H_ +#define _XMU_CURUTIL_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuCursorNameToIndex +( + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CURUTIL_H_ */ diff --git a/X11/Xmu/CvtCache.h b/X11/Xmu/CvtCache.h new file mode 100644 index 000000000..d9b967ab7 --- /dev/null +++ b/X11/Xmu/CvtCache.h @@ -0,0 +1,62 @@ +/* $Xorg: CvtCache.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 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/Xmu/CvtCache.h,v 1.6 2001/01/17 19:42:54 dawes Exp $ */ + +/* + * Public Interfaces + * + * XmuCvtCache *XmuCvtCacheLookupDisplay (dpy) + * Display *dpy; + */ + +#ifndef _XMU_CVTCACHE_H_ +#define _XMU_CVTCACHE_H_ + +#include <X11/Xmu/DisplayQue.h> +#include <X11/Xfuncproto.h> + +typedef struct _XmuCvtCache { + struct { + char **bitmapFilePath; + } string_to_bitmap; + /* add other per-display data that needs to be cached */ +} XmuCvtCache; + +_XFUNCPROTOBEGIN + +XmuCvtCache *_XmuCCLookupDisplay +( + Display *dpy + ); + +extern void _XmuStringToBitmapInitCache(XmuCvtCache *c); +extern void _XmuStringToBitmapFreeCache(XmuCvtCache *c); + +_XFUNCPROTOEND + +#endif /* _XMU_CVTCACHE_H_ */ diff --git a/X11/Xmu/DisplayQue.h b/X11/Xmu/DisplayQue.h new file mode 100644 index 000000000..9f9013c1e --- /dev/null +++ b/X11/Xmu/DisplayQue.h @@ -0,0 +1,155 @@ +/* $Xorg: DisplayQue.h,v 1.4 2001/02/09 02:03:52 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. + +*/ +/* $XFree86: xc/lib/Xmu/DisplayQue.h,v 1.5 2001/01/17 19:42:54 dawes Exp $ */ + +#ifndef _XMU_DISPLAYQUE_H_ +#define _XMU_DISPLAYQUE_H_ + +#include <X11/Xmu/CloseHook.h> +#include <X11/Xfuncproto.h> + +/* + * Public Entry Points + * + * + * XmuDisplayQueue *XmuDQCreate (closefunc, freefunc, data) + * XmuCloseDisplayQueueProc closefunc; + * XmuFreeDisplayQueueProc freefunc; + * XPointer data; + * + * Creates and returns a queue into which displays may be placed. When + * the display is closed, the closefunc (if non-NULL) is upcalled with + * as follows: + * + * (*closefunc) (queue, entry) + * + * The freeproc, if non-NULL, is called whenever the last display is + * closed, notifying the creator that display queue may be released + * using XmuDQDestroy. + * + * + * Bool XmuDQDestroy (q, docallbacks) + * XmuDisplayQueue *q; + * Bool docallbacks; + * + * Releases all memory for the indicated display queue. If docallbacks + * is true, then the closefunc (if non-NULL) is called for each + * display. + * + * + * XmuDisplayQueueEntry *XmuDQLookupDisplay (q, dpy) + * XmuDisplayQueue *q; + * Display *dpy; + * + * Returns the queue entry for the specified display or NULL if the + * display is not in the queue. + * + * + * XmuDisplayQueueEntry *XmuDQAddDisplay (q, dpy, data) + * XmuDisplayQueue *q; + * Display *dpy; + * XPointer data; + * + * Adds the indicated display to the end of the queue or NULL if it + * is unable to allocate memory. The data field may be used by the + * caller to attach arbitrary data to this display in this queue. The + * caller should use XmuDQLookupDisplay to make sure that the display + * hasn't already been added. + * + * + * Bool XmuDQRemoveDisplay (q, dpy) + * XmuDisplayQueue *q; + * Display *dpy; + * + * Removes the specified display from the given queue. If the + * indicated display is not found on this queue, False is returned, + * otherwise True is returned. + */ + +typedef struct _XmuDisplayQueue XmuDisplayQueue; +typedef struct _XmuDisplayQueueEntry XmuDisplayQueueEntry; + +typedef int (*XmuCloseDisplayQueueProc)(XmuDisplayQueue *queue, + XmuDisplayQueueEntry *entry); + +typedef int (*XmuFreeDisplayQueueProc)(XmuDisplayQueue *queue); + +struct _XmuDisplayQueueEntry { + struct _XmuDisplayQueueEntry *prev, *next; + Display *display; + CloseHook closehook; + XPointer data; +}; + +struct _XmuDisplayQueue { + int nentries; + XmuDisplayQueueEntry *head, *tail; + XmuCloseDisplayQueueProc closefunc; + XmuFreeDisplayQueueProc freefunc; + XPointer data; +}; + +_XFUNCPROTOBEGIN + +XmuDisplayQueue *XmuDQCreate +( + XmuCloseDisplayQueueProc closefunc, + XmuFreeDisplayQueueProc freefunc, + XPointer data + ); + +Bool XmuDQDestroy +( + XmuDisplayQueue *q, + Bool docallbacks + ); + +XmuDisplayQueueEntry *XmuDQLookupDisplay +( + XmuDisplayQueue *q, + Display *dpy + ); + +XmuDisplayQueueEntry *XmuDQAddDisplay +( + XmuDisplayQueue *q, + Display *dpy, + XPointer data + ); + +Bool XmuDQRemoveDisplay +( + XmuDisplayQueue *q, + Display *dpy + ); + +_XFUNCPROTOEND + +#define XmuDQNDisplays(q) ((q)->nentries) + +#endif /* _XMU_DISPLAYQUE_H_ */ diff --git a/X11/Xmu/Drawing.h b/X11/Xmu/Drawing.h new file mode 100644 index 000000000..9ffed3bab --- /dev/null +++ b/X11/Xmu/Drawing.h @@ -0,0 +1,161 @@ +/* $Xorg: Drawing.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/Drawing.h,v 1.6 2001/12/14 19:55:42 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_DRAWING_H_ +#define _XMU_DRAWING_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +#include <stdio.h> +#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED) +typedef unsigned long Pixel; +#endif + +_XFUNCPROTOBEGIN + +void XmuDrawRoundedRectangle +( + Display *dpy, + Drawable draw, + GC gc, + int x, + int y, + int w, + int h, + int ew, + int eh + ); + +void XmuFillRoundedRectangle +( + Display *dpy, + Drawable draw, + GC gc, + int x, + int y, + int w, + int h, + int ew, + int eh + ); + +void XmuDrawLogo +( + Display *dpy, + Drawable drawable, + GC gcFore, + GC gcBack, + int x, + int y, + unsigned int width, + unsigned int height + ); + +Pixmap XmuCreatePixmapFromBitmap +( + Display *dpy, + Drawable d, + Pixmap bitmap, + unsigned int width, + unsigned int height, + unsigned int depth, + unsigned long fore, + unsigned long back +); + +Pixmap XmuCreateStippledPixmap +( + Screen *screen, + Pixel fore, + Pixel back, + unsigned int depth + ); + +void XmuReleaseStippledPixmap +( + Screen *screen, + Pixmap pixmap + ); + +Pixmap XmuLocateBitmapFile +( + Screen *screen, + _Xconst char *name, + char *srcname_return, + int srcnamelen, + int *width_return, + int *height_return, + int *xhot_return, + int *yhot_return + ); + +Pixmap XmuLocatePixmapFile +( + Screen *screen, + _Xconst char *name, + unsigned long fore, + unsigned long back, + unsigned int depth, + char *srcname_return, + int srcnamelen, + int *width_return, + int *height_return, + int *xhot_return, + int *yhot_return + ); + +int XmuReadBitmapData +( + FILE *fstream, + unsigned int *width_return, + unsigned int *height_return, + unsigned char **datap_return, + int *xhot_return, + int *yhot_return +); + +int XmuReadBitmapDataFromFile +( + _Xconst char *filename, + unsigned int *width_return, + unsigned int *height_return, + unsigned char **datap_return, + int *xhot_return, + int *yhot_return + ); + +_XFUNCPROTOEND + +#endif /* _XMU_DRAWING_H_ */ diff --git a/X11/Xmu/Editres.h b/X11/Xmu/Editres.h new file mode 100644 index 000000000..2a3f3e250 --- /dev/null +++ b/X11/Xmu/Editres.h @@ -0,0 +1,42 @@ +/* $Xorg: Editres.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/Xmu/Editres.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void _XEditResCheckMessages +( + Widget w, + XtPointer data, + XEvent *event, + Boolean *cont +); + +_XFUNCPROTOEND diff --git a/X11/Xmu/EditresP.h b/X11/Xmu/EditresP.h new file mode 100644 index 000000000..886205bf2 --- /dev/null +++ b/X11/Xmu/EditresP.h @@ -0,0 +1,409 @@ +/* $Xorg: EditresP.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 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/Xmu/EditresP.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */ + +/* + * Author: Chris D. Peterson, MIT X Consortium + */ + +/************************************************************ + + The Editres Protocol + + + The Client message sent to the application is: + + ATOM = "ResEditor" --- RES_EDITOR_NAME + + FORMAT = 32 --- RES_EDIT_SEND_EVENT_FORMAT + + l[0] = timestamp + l[1] = command atom name + l[2] = ident of command + l[3] = protocol version number to use + + + + The binary protocol has the following format: + + Card8: 8-bit unsingned integer + Card16: 16-bit unsingned integer + Card32: 32-bit unsingned integer + Int16: 16-bit signed integer + Window: 32-bit value + Widget: 32-bit value + String8: ListOfCard8 + + [a][b][c] represent an exclusive list of choices. + + All widgets are passed as a list of widgets, containing the + full instance heirarch of this widget. The hierarchy is ordered + from parent to child. Thus the first element of each list is + the root of the widget tree (this makes verifying that the widget + still exists, MUCH faster). + + ListOfFoo comprises a list of things in the following format: + + number: Card16 + <number> things: ???? + + This is a synchronous protocol, every request MUST be followed by a + reply. + + Request: + + Serial Number: Card8 + Op Code: Card8 - { SendWidgetTree = 0, + SetValues = 1, + GetResources = 2, + GetGeometry = 3, + FindChild = 4, + GetValues = 5 } + Length: Card32 + Data: + + Reply: + + Serial Number: Card8 + Type: Card8 - { Formatted = 0, + Unformatted = 1, + ProtocolMismatch = 2 + } + Length: Card32 + + + Byte Order: + + All Fields are MSB -> LSB + + Data: + + Formatted: + + The data contains the reply information for the request as + specified below if the reply type is "Formatted". The return + values for the other reply types are shown below. + + Unformatted: + + Message: String8 + + ProtocolMismatch: + + RequestedVersion: Card8 + +------------------------------------------------------------ + + SendWidgetTree: + + ---> + + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + name: String8 + class: String8 + window: Card32 + toolkit: String8 + + Send Widget Tree returns the toolkit type, and a fuly specified list + of widgets for each widget in the tree. This is enough information + to completely reconstruct the entire widget heirarchy. + + The window return value contains the Xid of the window currently + used by this widget. If the widget is unrealized then 0 is returned, + and if widget is a non-windowed object a value of 2 is returned. + + SetValues: + + name: String8 + type: String8 + value: String8 + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + + ---> + + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + message: String8 + + SetValues will allow the same resource to be set on a number of + widgets. This function will return an error message if the SetValues + request caused an Xt error. + + GetValues: + + names: ListOfString8 + widget: Widget + + ---> + novalues: ListOfCard16 + values: ListOfString8 + + GetValues will allow a number of resource values to be read + on a particular widget. The request specifies the names of + the resources wanted and the widget id these resources are + from. The reply returns a list of indices from the requests + name list of resources for which a value can not be returned. + It also returns a list of returned values, in the order of the + requests names list, skipping those indices present in novalues. + + GetResources: + + Number of Entries: Card16 + Entry + widget: ListOfWidgets: + + ----> + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + Error: Bool + + [ Message: String 8 ] + [ Number of Resources: Card16 + Resource: + Kind: {normal, constraint} + Name: String8 + Class: String8 + Type: String8 ] + + GetResource retrieves the kind, name, class and type for every + widget passed to it. If an error occured with the resource fetch + Error will be set to True for the given widget and a message + is returned rather than the resource info. + + GetGeometry: + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + + ----> + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + Error: Bool + + [ message: String 8 ] + [ mapped: Boolean + X: Int16 + Y: Int16 + Width: Card16 + Height: Card16 + BorderWidth: Card16 ] + + GetGeometry retreives the mapping state, x, y, width, height + and border width for each widget specified. If an error occured + with the geometry fetch "Error" will be set to True for the given + widget and a message is returned rather than the geometry info. + X an Y corrospond to the root coordinates of the upper left corner + of the widget (outside the window border). + + FindChild: + + Widget: ListOfWidgets + X: Int16 + Y: Int16 + + ---> + + Widget: ListOfWidgets + + Find Child returns a descendent of the widget specified that + is at the root coordinates specified. + + NOTE: + + The returned widget is undefined if the point is contained in + two or more mapped widgets, or in two overlapping Rect objs. + + GetValues: + + names: ListOfString8 + widget: Widget + + ---> + + values: ListOfString8 + + GetValues will allow a number of resource values to be read + on a particular widget. Currently only InterViews 3.0.1 Styles + and their attributes are supported. In addition, the current + user interface only supports the return of 1 resource. The ability + to specify and return multiple resources is defined for future editres + interfaces where some or all of a widgets resource values are returned + and displayed at once. + + +************************************************************/ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +#define XER_NBBY 8 /* number of bits in a byte */ +#define BYTE_MASK 255 + +#define HEADER_SIZE 6 + +#define EDITRES_IS_OBJECT 2 +#define EDITRES_IS_UNREALIZED 0 + +/* + * Format for atoms + */ +#define EDITRES_FORMAT 8 +#define EDITRES_SEND_EVENT_FORMAT 32 + +/* + * Atoms + */ +#define EDITRES_NAME "Editres" +#define EDITRES_COMMAND_ATOM "EditresCommand" +#define EDITRES_COMM_ATOM "EditresComm" +#define EDITRES_CLIENT_VALUE "EditresClientVal" +#define EDITRES_PROTOCOL_ATOM "EditresProtocol" + +typedef enum { + SendWidgetTree = 0, + SetValues = 1, + GetResources = 2, + GetGeometry = 3, + FindChild = 4, + GetValues = 5 +} EditresCommand; + +typedef enum { + NormalResource = 0, + ConstraintResource = 1 +} ResourceType; + +/* + * The type of a resource identifier + */ +typedef unsigned char ResIdent; + +typedef enum { + PartialSuccess = 0, + Failure = 1, + ProtocolMismatch = 2 +} EditResError; + +typedef struct _WidgetInfo { + unsigned short num_widgets; + unsigned long *ids; + Widget real_widget; +} WidgetInfo; + +typedef struct _ProtocolStream { + unsigned long size, alloc; + unsigned char *real_top, *top, *current; +} ProtocolStream; + +/************************************************************ + * Function definitions for reading and writing protocol requests + ************************************************************/ +_XFUNCPROTOBEGIN + +void _XEditResPutString8 +( + ProtocolStream *stream, + char *str + ); + +void _XEditResPut8 +( + ProtocolStream *stream, + unsigned int value + ); + +void _XEditResPut16 +( + ProtocolStream *stream, + unsigned int value + ); + +void _XEditResPut32 +( + ProtocolStream *stream, + unsigned long value + ); + +void _XEditResPutWidgetInfo +( + ProtocolStream *stream, + WidgetInfo *info + ); + +void _XEditResResetStream +( + ProtocolStream *stream + ); + +Bool _XEditResGet8 +( + ProtocolStream *stream, + unsigned char *value + ); + +Bool _XEditResGet16 +( + ProtocolStream *stream, + unsigned short *value + ); + +Bool _XEditResGetSigned16 +( + ProtocolStream *stream, + short *value + ); + +Bool _XEditResGet32 +( + ProtocolStream *stream, + unsigned long *value + ); + +Bool _XEditResGetString8 +( + ProtocolStream *stream, + char **str + ); + +Bool _XEditResGetWidgetInfo +( + ProtocolStream *stream, + WidgetInfo *info + ); + +_XFUNCPROTOEND diff --git a/X11/Xmu/Error.h b/X11/Xmu/Error.h new file mode 100644 index 000000000..f992930ec --- /dev/null +++ b/X11/Xmu/Error.h @@ -0,0 +1,59 @@ +/* $Xorg: Error.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/Error.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_ERROR_H_ +#define _XMU_ERROR_H_ + +#include <stdio.h> +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuPrintDefaultErrorMessage +( + Display *dpy, + XErrorEvent *event, + FILE *fp + ); + +int XmuSimpleErrorHandler +( + Display *dpy, + XErrorEvent *errorp + ); + +_XFUNCPROTOEND + +#endif /* _XMU_ERROR_H_ */ diff --git a/X11/Xmu/ExtAgent.h b/X11/Xmu/ExtAgent.h new file mode 100644 index 000000000..b0caf3699 --- /dev/null +++ b/X11/Xmu/ExtAgent.h @@ -0,0 +1,44 @@ +/* $Xorg: ExtAgent.h,v 1.5 2001/02/09 02:03:52 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. + +*/ +/* $XFree86: xc/lib/Xmu/ExtAgent.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +extern void XmuRegisterExternalAgent +( + Widget w, + XtPointer data, + XEvent *event, + Boolean *cont + ); + +_XFUNCPROTOEND + diff --git a/X11/Xmu/Initer.h b/X11/Xmu/Initer.h new file mode 100644 index 000000000..5e870af8c --- /dev/null +++ b/X11/Xmu/Initer.h @@ -0,0 +1,58 @@ +/* $Xorg: Initer.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/Initer.h,v 1.5 2001/01/17 19:42:56 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_INITER_H_ +#define _XMU_INITER_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +typedef void (*XmuInitializerProc)(XtAppContext app_context, XPointer data); + +_XFUNCPROTOBEGIN + +void XmuCallInitializers +( + XtAppContext app_context + ); + +void XmuAddInitializer +( + XmuInitializerProc func, + XPointer data + ); + +_XFUNCPROTOEND + +#endif /* _XMU_INITER_H_ */ diff --git a/X11/Xmu/Lookup.h b/X11/Xmu/Lookup.h new file mode 100644 index 000000000..3699a2719 --- /dev/null +++ b/X11/Xmu/Lookup.h @@ -0,0 +1,128 @@ +/* + * $XFree86$ + */ + +/************************************************************ + +Copyright 1999 by Thomas E. Dickey <dickey@clark.net> + + 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, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization. + +********************************************************/ + +#ifndef included_xmu_lookup_h +#define included_xmu_lookup_h 1 + +#include <X11/Xlib.h> +#include <X11/Xutil.h> + +extern int XmuLookupString( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status, + unsigned long keysymSet); + +extern int XmuLookupLatin1( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin2( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin3( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin4( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupKana( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupJISX0201( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupArabic( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupCyrillic( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupGreek( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupAPL( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupHebrew( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +#endif /* included_xmu_lookup_h */ diff --git a/X11/Xmu/Misc.h b/X11/Xmu/Misc.h new file mode 100644 index 000000000..b47fbba4b --- /dev/null +++ b/X11/Xmu/Misc.h @@ -0,0 +1,65 @@ +/* $Xorg: Misc.h,v 1.4 2001/02/09 02:03:53 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. + +******************************************************************/ + +/* Various useful constant and macro definitions */ + +#ifndef _Xmu_Misc_h +#define _Xmu_Misc_h + +#define MAXDIMENSION ((1 << 31)-1) + +#define Max(x, y) (((x) > (y)) ? (x) : (y)) +#define Min(x, y) (((x) < (y)) ? (x) : (y)) +#define AssignMax(x, y) {if ((y) > (x)) x = (y);} +#define AssignMin(x, y) {if ((y) < (x)) x = (y);} + +#endif /*_Xmu_Misc_h*/ diff --git a/X11/Xmu/StdCmap.h b/X11/Xmu/StdCmap.h new file mode 100644 index 000000000..b268d073c --- /dev/null +++ b/X11/Xmu/StdCmap.h @@ -0,0 +1,119 @@ +/* $Xorg: StdCmap.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/StdCmap.h,v 1.8 2001/01/23 17:38:14 keithp Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_STDCMAP_H_ +#define _XMU_STDCMAP_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Status XmuAllStandardColormaps +( + Display *dpy + ); + +Status XmuCreateColormap +( + Display *dpy, + XStandardColormap *colormap + ); + +void XmuDeleteStandardColormap +( + Display *dpy, + int screen, + Atom property + ); + +Status XmuGetColormapAllocation +( + XVisualInfo *vinfo, + Atom property, + unsigned long *red_max_return, + unsigned long *green_max_return, + unsigned long *blue_max_return + ); + +Status XmuLookupStandardColormap +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Atom property, + Bool replace, + Bool retain + ); + +XStandardColormap *XmuStandardColormap +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Atom property, + Colormap cmap, + unsigned long red_max, + unsigned long green_max, + unsigned long blue_max + ); + +Status XmuVisualStandardColormaps +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Bool replace, + Bool retain + ); + +Bool XmuDistinguishableColors +( + XColor *colors, + int count + ); + +Bool XmuDistinguishablePixels +( + Display *dpy, + Colormap cmap, + unsigned long *pixels, + int count + ); + +_XFUNCPROTOEND + +#endif /* _XMU_STDCMAP_H_ */ diff --git a/X11/Xmu/StdSel.h b/X11/Xmu/StdSel.h new file mode 100644 index 000000000..f7c9452de --- /dev/null +++ b/X11/Xmu/StdSel.h @@ -0,0 +1,57 @@ +/* $Xorg: StdSel.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/StdSel.h,v 1.7 2001/01/17 19:42:56 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_SELECTION_H_ +#define _XMU_SELECTION_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Boolean XmuConvertStandardSelection +( + Widget w, + Time timev, + Atom *selection, + Atom *target, + Atom *type_return, + XPointer *value_return, + unsigned long *length_return, + int *format_return + ); + +_XFUNCPROTOEND + +#endif /* _XMU_SELECTION_H_ */ diff --git a/X11/Xmu/SysUtil.h b/X11/Xmu/SysUtil.h new file mode 100644 index 000000000..9f5b033ac --- /dev/null +++ b/X11/Xmu/SysUtil.h @@ -0,0 +1,60 @@ +/* $Xorg: SysUtil.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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/Xmu/SysUtil.h,v 1.9 2001/12/14 19:55:55 dawes Exp $ */ + +#ifndef _SYSUTIL_H_ +#define _SYSUTIL_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuGetHostname +( + char *buf_return, + int maxlen +); + +#ifndef _XMU_H_ +int XmuSnprintf +( + char *str, + int size, + _Xconst char *fmt, + ... + ) +#if defined(__GNUC__) && \ + ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4))) +__attribute((format(printf,3,4))) +#endif +; +#endif + +_XFUNCPROTOEND + +#endif /* _SYSUTIL_H_ */ diff --git a/X11/Xmu/WhitePoint.h b/X11/Xmu/WhitePoint.h new file mode 100644 index 000000000..a05bddd4a --- /dev/null +++ b/X11/Xmu/WhitePoint.h @@ -0,0 +1,65 @@ +/* $Xorg: WhitePoint.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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. + +*/ + + +/* + * + * DESCRIPTION + * This file contains a series of standard white point values. + */ +#define CIE_A_u 0.2560 +#define CIE_A_v 0.5243 +#define CIE_A_Y 1.0000 + +#define CIE_B_u 0.2137 +#define CIE_B_v 0.4852 +#define CIE_B_Y 1.0000 + +#define CIE_C_u 0.2009 +#define CIE_C_v 0.4609 +#define CIE_C_Y 1.0000 + +#define CIE_D55_u 0.2044 +#define CIE_D55_v 0.4808 +#define CIE_D55_Y 1.0000 + +#define CIE_D65_u 0.1978 +#define CIE_D65_v 0.4684 +#define CIE_D65_Y 1.0000 + +#define CIE_D75_u 0.1935 +#define CIE_D75_v 0.4586 +#define CIE_D75_Y 1.0000 + +#define ASTM_D50_u 0.2092 +#define ASTM_D50_v 0.4881 +#define ASTM_D50_Y 1.0000 + +#define WP_9300K_u 0.1884 +#define WP_9300K_v 0.4463 +#define WP_9300K_Y 1.0000 diff --git a/X11/Xmu/WidgetNode.h b/X11/Xmu/WidgetNode.h new file mode 100644 index 000000000..75050d253 --- /dev/null +++ b/X11/Xmu/WidgetNode.h @@ -0,0 +1,98 @@ +/* $Xorg: WidgetNode.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 1990, 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/Xmu/WidgetNode.h,v 1.5 2001/01/17 19:42:57 dawes Exp $ */ + +/* + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XmuWidgetNode_h +#define _XmuWidgetNode_h + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +/* + * This is usually initialized by setting the first two fields and letting + * rest be implicitly nulled (by genlist.sh, for example) + */ +typedef struct _XmuWidgetNode { + char *label; /* mixed case name */ + WidgetClass *widget_class_ptr; /* addr of widget class */ + struct _XmuWidgetNode *superclass; /* superclass of widget_class */ + struct _XmuWidgetNode *children, *siblings; /* subclass links */ + char *lowered_label; /* lowercase version of label */ + char *lowered_classname; /* lowercase version of class_name */ + Bool have_resources; /* resources have been fetched */ + XtResourceList resources; /* extracted resource database */ + struct _XmuWidgetNode **resourcewn; /* where resources come from */ + Cardinal nresources; /* number of resources */ + XtResourceList constraints; /* extracted constraint resources */ + struct _XmuWidgetNode **constraintwn; /* where constraints come from */ + Cardinal nconstraints; /* number of constraint resources */ + XtPointer data; /* extra data */ +} XmuWidgetNode; + +#define XmuWnClass(wn) ((wn)->widget_class_ptr[0]) +#define XmuWnClassname(wn) (XmuWnClass(wn)->core_class.class_name) +#define XmuWnSuperclass(wn) ((XmuWnClass(wn))->core_class.superclass) + + /* external interfaces */ +_XFUNCPROTOBEGIN + +void XmuWnInitializeNodes +( + XmuWidgetNode *nodearray, + int nnodes + ); + +void XmuWnFetchResources +( + XmuWidgetNode *node, + Widget toplevel, + XmuWidgetNode *topnode + ); + +int XmuWnCountOwnedResources +( + XmuWidgetNode *node, + XmuWidgetNode *ownernode, + Bool constraints + ); + +XmuWidgetNode *XmuWnNameToNode +( + XmuWidgetNode *nodelist, + int nnodes, + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XmuWidgetNode_h */ + diff --git a/X11/Xmu/WinUtil.h b/X11/Xmu/WinUtil.h new file mode 100644 index 000000000..0445bcfa8 --- /dev/null +++ b/X11/Xmu/WinUtil.h @@ -0,0 +1,64 @@ +/* $Xorg: WinUtil.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/WinUtil.h,v 1.6 2001/01/17 19:42:57 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_WINDOWUTIL_H_ +#define _XMU_WINDOWUTIL_H_ + +#include <X11/Xutil.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Window XmuClientWindow +( + Display *dpy, + Window win + ); + +Bool XmuUpdateMapHints +( + Display *dpy, + Window win, + XSizeHints *hints + ); + +Screen *XmuScreenOfWindow +( + Display *dpy, + Window w +); + +_XFUNCPROTOEND + +#endif /* _XMU_WINDOWUTIL_H_ */ diff --git a/X11/Xmu/Xct.h b/X11/Xmu/Xct.h new file mode 100644 index 000000000..b06644ae0 --- /dev/null +++ b/X11/Xmu/Xct.h @@ -0,0 +1,168 @@ +/* $Xorg: Xct.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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/Xmu/Xct.h,v 1.6 2001/01/17 19:42:58 dawes Exp $ */ + +#ifndef _Xct_h +#define _Xct_h + +#include <X11/Xfuncproto.h> + +#define XctVersion 1 + +typedef unsigned char *XctString; + +typedef enum { + XctUnspecified, + XctLeftToRight, + XctRightToLeft +} XctHDirection; + +typedef unsigned long XctFlags; + +/* These are bits in XctFlags. */ + +#define XctSingleSetSegments 0x0001 + /* This means that returned segments should contain characters from only + * one set (C0, C1, GL, GR). When this is requested, XctSegment is never + * returned, instead XctC0Segment, XctC1Segment, XctGlSegment, and + * XctGRSegment are returned. C0 and C1 segments are always returned as + * singleton characters. + */ + +#define XctProvideExtensions 0x0002 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then syntactically correct but unknown + * control sequences should be returned as XctExtension items. If this + * flag is not set, and the Compound Text string version indicates that + * extensions cannot be ignored, then each unknown control sequence will be + * reported as an XctError. + */ + +#define XctAcceptC0Extensions 0x0004 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then unknown C0 characters should be + * treated as if they were legal, and returned as C0 characters (regardless + * of how XctProvideExtensions is set). If this flag is not set, then all + * unknown C0 characters are treated according to XctProvideExtensions. + */ + +#define XctAcceptC1Extensions 0x0008 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then unknown C0 characters should be + * treated as if they were legal, and returned as C0 characters (regardless + * of how XctProvideExtensions is set). If this flag is not set, then all + * unknown C0 characters are treated according to XctProvideExtensions. + */ + +#define XctHideDirection 0x0010 + /* This means that horizontal direction changes should be reported as + * XctHorizontal items. If this flag is not set, then direction changes are + * not returned as items, but the current direction is still maintained and + * reported for other items. + */ + +#define XctFreeString 0x0020 + /* This means that XctFree should free the Compound Text string (that was + * passed to XctCreate. If this flag is not set, the string is not freed. + */ + +#define XctShiftMultiGRToGL 0x0040 + /* Translate GR segments on-the-fly into GL segments for the GR sets: + * GB2312.1980-1, JISX0208.1983-1, and KSC5601.1987-1. + */ + +/* This is the return type for XctNextItem. */ +typedef enum { + XctSegment, /* used when XctSingleSetSegments is not requested */ + XctC0Segment, /* used when XctSingleSetSegments is requested */ + XctGLSegment, /* used when XctSingleSetSegments is requested */ + XctC1Segment, /* used when XctSingleSetSegments is requested */ + XctGRSegment, /* used when XctSingleSetSegments is requested */ + XctExtendedSegment, /* an extended segment */ + XctExtension, /* used when XctProvideExtensions is requested */ + XctHorizontal, /* horizontal direction or depth change */ + XctEndOfText, /* end of text string */ + XctError /* syntactic or semantic error */ +} XctResult; + +typedef struct _XctRec { + XctString total_string; /* as given to XctCreate */ + int total_length; /* as given to XctCreate */ + XctFlags flags; /* as given to XctCreate */ + int version; /* indicates the version of the CT spec + * the string was produced from */ + int can_ignore_exts;/* non-zero if ignoring extensions is + * acceptable, else zero */ + XctString item; /* item returned from XctNextItem */ + unsigned item_length; /* length of item in bytes */ + int char_size; /* number of bytes per character in + * item, with zero meaning variable */ + char *encoding; /* Encoding name for item */ + XctHDirection horizontal; /* direction of item */ + unsigned horz_depth; /* current direction nesting depth */ + char *GL; /* "{I} F" string for current GL */ + char *GL_encoding; /* Encoding name for current GL */ + int GL_set_size; /* 94 or 96 */ + int GL_char_size; /* number of bytes per GL character */ + char *GR; /* "{I} F" string for current GR */ + char *GR_encoding; /* Encoding name for current GR */ + int GR_set_size; /* 94 or 96 */ + int GR_char_size; /* number of bytes per GR character */ + char *GLGR_encoding; /* Encoding name for current GL+GR, + * if known */ + struct _XctPriv *priv; /* private to parser, don't peek */ +} *XctData; + +/* these are the external routines */ +_XFUNCPROTOBEGIN + +XctData XctCreate +( + _Xconst unsigned char *string, + int length, + XctFlags flags +); + +XctResult XctNextItem +( + XctData data +); + +void XctFree +( + XctData data + ); + +void XctReset +( + XctData data + ); + +_XFUNCPROTOEND + +#endif /* _Xct_h */ diff --git a/X11/Xmu/Xmu.h b/X11/Xmu/Xmu.h new file mode 100644 index 000000000..c503a41b8 --- /dev/null +++ b/X11/Xmu/Xmu.h @@ -0,0 +1,128 @@ +/* $Xorg: Xmu.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 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. + +*/ +/* $XFree86: xc/lib/Xmu/Xmu.h,v 1.9 2001/12/14 19:55:59 dawes Exp $ */ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_H_ +#define _XMU_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xmu/Atoms.h> /* _XA_... */ +#include <X11/Xmu/CharSet.h> /* CopyISOLatin1Lowered */ +#include <X11/Xmu/Converters.h> /* CvtStringTo... */ +#include <X11/Xmu/Drawing.h> /* DrawRoundedRect, DrawLogo */ +#include <X11/Xmu/Error.h> /* PrintDefaultError */ +#include <X11/Xmu/StdSel.h> /* ConvertStandardSelection */ + +/* + * clip lists + */ +typedef struct _XmuSegment { + int x1, x2; + struct _XmuSegment *next; +} XmuSegment; + +typedef struct _XmuScanline { + int y; + XmuSegment *segment; + struct _XmuScanline *next; +} XmuScanline; + +typedef struct _XmuArea { + XmuScanline *scanline; +} XmuArea; + +#define XmuCreateArea() XmuNewArea(0, 0, 0, 0) +#define XmuAreaOr(dst, src) XmuAreaOrXor((dst), (src), True) +#define XmuAreaXor(dst, src) XmuAreaOrXor((dst), (src), False) + +#define XmuDestroyArea(a) \ + do { \ + XmuDestroyScanlineList((a)->scanline); \ + XtFree((char *)(a)); \ + } while (0) + +#define FreeArea(a) \ + do { \ + XmuDestroyScanlineList((a)->scanline); \ + a->scanline = (Scanline *)0; \ + } while (0) + +#define XmuValidSegment(s) ((s)->x1 < (s)->x2) +#define XmuSegmentEqu(s1, s2) ((s1)->x1 == (s2)->x1 && (s1)->x2 == (s2)->x2) +#define XmuDestroySegment(s) XtFree((char *)(s)) + +#define XmuDestroyScanline(s) \ + do { \ + XmuDestroySegmentList((s)->segment); \ + XtFree((char*)(s)); \ + } while (0) + +XmuArea *XmuNewArea(int, int, int, int); +XmuArea *XmuAreaDup(XmuArea*); +XmuArea *XmuAreaCopy(XmuArea*, XmuArea*); +XmuArea *XmuAreaNot(XmuArea*, int, int, int, int); +XmuArea *XmuAreaOrXor(XmuArea*, XmuArea*, Bool); +XmuArea *XmuAreaAnd(XmuArea*, XmuArea*); +Bool XmuValidArea(XmuArea*); +Bool XmuValidScanline(XmuScanline*); +Bool XmuScanlineEqu(XmuScanline*, XmuScanline*); +XmuSegment *XmuNewSegment(int, int); +void XmuDestroySegmentList(XmuSegment*); +XmuScanline *XmuScanlineCopy(XmuScanline*, XmuScanline*); +Bool XmuAppendSegment(XmuSegment*, XmuSegment*); +XmuScanline *XmuOptimizeScanline(XmuScanline*); +XmuScanline *XmuScanlineNot(XmuScanline *scanline, int, int); +XmuScanline *XmuScanlineOr(XmuScanline*, XmuScanline*); +XmuScanline *XmuScanlineAnd(XmuScanline*, XmuScanline*); +XmuScanline *XmuScanlineXor(XmuScanline*, XmuScanline*); +XmuScanline *XmuNewScanline(int, int, int); +void XmuDestroyScanlineList(XmuScanline*); +XmuArea *XmuOptimizeArea(XmuArea *area); + +#ifndef notdef +XmuScanline *XmuScanlineOrSegment(XmuScanline*, XmuSegment*); +XmuScanline *XmuScanlineAndSegment(XmuScanline*, XmuSegment*); +XmuScanline *XmuScanlineXorSegment(XmuScanline*, XmuSegment*); +#endif /* notdef */ + +#ifndef _SYSUTIL_H_ +int XmuSnprintf(char *str, int size, _Xconst char *fmt, ...) +#if defined(__GNUC__) && \ + ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4))) +__attribute((format(printf,3,4))) +#endif +; +#endif + +#endif /* _XMU_H_ */ + @@ -1,148 +1,148 @@ -/* - * -Copyright 1987, 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. - * - * The X Window System is a Trademark of The Open Group. - * - */ - -/* This is a collection of things to try and minimize system dependencies - * in a "significant" number of source files. - */ - -#ifndef _XOS_H_ -# define _XOS_H_ - -# include <X11/Xosdefs.h> - -/* - * Get major data types (esp. caddr_t) - */ - -# include <sys/types.h> - -# if defined(__SCO__) || defined(__UNIXWARE__) -# include <stdint.h> -# endif - - -/* - * Just about everyone needs the strings routines. We provide both forms here, - * index/rindex and strchr/strrchr, so any systems that don't provide them all - * need to have #defines here. - * - * These macros are defined this way, rather than, e.g.: - * #defined index(s,c) strchr(s,c) - * because someone might be using them as function pointers, and such - * a change would break compatibility for anyone who's relying on them - * being the way they currently are. So we're stuck with them this way, - * which can be really inconvenient. :-( - */ - -# include <string.h> -# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun) -# include <strings.h> -# else -# ifndef index -# define index(s,c) (strchr((s),(c))) -# endif -# ifndef rindex -# define rindex(s,c) (strrchr((s),(c))) -# endif -# endif - -/* - * Get open(2) constants - */ -# if defined(X_NOT_POSIX) -# include <fcntl.h> -# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4)) -# include <unistd.h> -# endif -# ifdef WIN32 -# include <X11/Xw32defs.h> -# else -# include <sys/file.h> -# endif -# else /* X_NOT_POSIX */ -# include <fcntl.h> -# include <unistd.h> -# endif /* X_NOT_POSIX else */ - -/* - * Get struct timeval and struct tm - */ - -# if defined(_POSIX_SOURCE) && defined(SVR4) -/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */ -# undef _POSIX_SOURCE -# include <sys/time.h> -# define _POSIX_SOURCE -# elif defined(WIN32) -# include <time.h> -# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL) -struct timeval { - long tv_sec; /* seconds */ - long tv_usec; /* and microseconds */ -}; -# define _TIMEVAL_DEFINED -# endif -# include <sys/timeb.h> -# define gettimeofday(t) \ -{ \ - struct _timeb _gtodtmp; \ - _ftime (&_gtodtmp); \ - (t)->tv_sec = _gtodtmp.time; \ - (t)->tv_usec = _gtodtmp.millitm * 1000; \ -} -# else -# include <sys/time.h> -# include <time.h> -# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */ - -/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */ -# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */ -# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) -# else -# if defined(SVR4) || defined(__SVR4) || defined(WIN32) -# define X_GETTIMEOFDAY(t) gettimeofday(t) -# else -# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) -# endif -# endif /* XPG4 else */ - - -# ifdef __GNU__ -# define PATH_MAX 4096 -# define MAXPATHLEN 4096 -# define OPEN_MAX 256 /* We define a reasonable limit. */ -# endif - -/* use POSIX name for signal */ -# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) -# define SIGCHLD SIGCLD -# endif - -# include <X11/Xarch.h> - -#endif /* _XOS_H_ */ +/*
+ *
+Copyright 1987, 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.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+# define _XOS_H_
+
+# include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+# include <sys/types.h>
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# include <stdint.h>
+# endif
+
+
+/*
+ * Just about everyone needs the strings routines. We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ * #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+# include <string.h>
+# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun)
+# include <strings.h>
+# else
+# ifndef index
+# define index(s,c) (strchr((s),(c)))
+# endif
+# ifndef rindex
+# define rindex(s,c) (strrchr((s),(c)))
+# endif
+# endif
+
+/*
+ * Get open(2) constants
+ */
+# if defined(X_NOT_POSIX)
+# include <fcntl.h>
+# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4))
+# include <unistd.h>
+# endif
+# ifdef WIN32
+# include <X11/Xw32defs.h>
+# else
+# include <sys/file.h>
+# endif
+# else /* X_NOT_POSIX */
+# include <fcntl.h>
+# include <unistd.h>
+# endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+# if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+# undef _POSIX_SOURCE
+# include <sys/time.h>
+# define _POSIX_SOURCE
+# elif defined(WIN32)
+# include <time.h>
+# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+# define _TIMEVAL_DEFINED
+# endif
+# include <sys/timeb.h>
+# define gettimeofday(t) \
+{ \
+ struct _timeb _gtodtmp; \
+ _ftime (&_gtodtmp); \
+ (t)->tv_sec = _gtodtmp.time; \
+ (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+# else
+# include <sys/time.h>
+# include <time.h>
+# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# else
+# if defined(SVR4) || defined(__SVR4) || defined(WIN32)
+# define X_GETTIMEOFDAY(t) gettimeofday(t)
+# else
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# endif
+# endif /* XPG4 else */
+
+
+# ifdef __GNU__
+# define PATH_MAX 4096
+# define MAXPATHLEN 4096
+# define OPEN_MAX 256 /* We define a reasonable limit. */
+# endif
+
+/* use POSIX name for signal */
+# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
+# define SIGCHLD SIGCLD
+# endif
+
+# include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
diff --git a/X11/Xpoll.h b/X11/Xpoll.h new file mode 100644 index 000000000..feb1112cf --- /dev/null +++ b/X11/Xpoll.h @@ -0,0 +1,255 @@ +/* $Xorg: Xpoll.h,v 1.4 2001/02/09 02:03:23 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. + +*/ + +/* + * Copyright © 2005 Daniel Stone + * + * 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, and that the name of Daniel Stone not be used in advertising + * or publicity pertaining to distribution of the software without specific, + * written prior permission. Daniel Stone makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * DANIEL STONE 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/include/Xpoll.h,v 3.8 2001/01/17 17:53:11 dawes Exp $ */ + +#ifndef _XPOLL_H_ +#define _XPOLL_H_ + +#ifndef WIN32 + +#ifndef USE_POLL + +#include <X11/Xos.h> + +/* Below is the monster branch from hell. Basically, most systems will drop to + * 'the branch below is the fallthrough for halfway modern systems', and include + * <sys/select.h>, so we get the FD_* macros. */ +#if !defined(DGUX) +# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE) +# include <sys/select.h> +# ifdef luna +# include <sysent.h> +# endif +# else /* not SVR4/CRAY/AIXv3 */ +# if defined(AIXV4) /* AIX 4.2 fubar-ed <sys/select.h>, so try really hard. */ +# if !defined(NFDBITS) +# include <sys/select.h> +# endif +# else /* the branch below is the fallthrough for halfway modern systems */ +# ifdef __QNX__ /* Make sure we get 256 bit select masks */ +# define FD_SETSIZE 256 +# endif +# include <sys/select.h> +# endif +# endif +#else /* DGUX -- No sys/select in Intel DG/ux */ +# include <sys/time.h> +# include <sys/types.h> +# include <unistd.h> +#endif + +#include <X11/Xmd.h> + +#ifdef CSRG_BASED +#include <sys/param.h> +# if BSD < 199103 +typedef long fd_mask; +# endif +#endif + +#define XFD_SETSIZE 256 + +#ifndef FD_SETSIZE +#define FD_SETSIZE XFD_SETSIZE +#endif + +#ifndef NBBY +#define NBBY 8 /* number of bits in a byte */ +#endif + +#ifndef NFDBITS +#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ +#endif + +#ifndef howmany +#define howmany(x,y) (((x)+((y)-1))/(y)) +#endif + +#if defined(BSD) && BSD < 198911 && !defined(luna) +typedef struct fd_set { + fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; +} fd_set; +#endif + +#ifndef hpux /* and perhaps old BSD ??? */ +# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t) +#else +# ifndef _XPG4_EXTENDED /* HPUX 9.x and earlier */ +# define Select(n,r,w,e,t) select(n,(int*)r,(int*)w,(int*)e,(struct timeval*)t) +# else +# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t) +# endif +#endif + +#define __X_FDS_BITS fds_bits + +#ifndef __FDS_BITS +# define __FDS_BITS(p) ((p)->__X_FDS_BITS) +#endif + +#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n] + +#ifndef FD_SET +#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_CLR +#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_ISSET +#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_ZERO +#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p))) +#endif + +/* + * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the + * array. before accessing an element in the array we check it exists. + * If it does not exist then the compiler discards the code to access it. + */ +#define XFD_ANYSET(p) \ + ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7)))) + +#define XFD_COPYSET(src,dst) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \ + } +#define XFD_ANDSET(dst,b1,b2) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \ + } +#define XFD_ORSET(dst,b1,b2) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \ + } +#define XFD_UNSET(dst,b1) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \ + } + +#else /* USE_POLL */ +#include <sys/poll.h> +#endif /* USE_POLL */ + +#else /* WIN32 */ + +#define XFD_SETSIZE 256 +#ifndef FD_SETSIZE +#define FD_SETSIZE XFD_SETSIZE +#endif +#include <X11/Xwinsock.h> + +#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t) + +#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count) +#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i]) +#define XFD_ANYSET(p) XFD_SETCOUNT(p) + +#define XFD_COPYSET(src,dst) { \ + u_int __i; \ + FD_ZERO(dst); \ + for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \ + XFD_FD(dst,__i) = XFD_FD(src,__i); \ + } \ + XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \ +} + +#define XFD_ANDSET(dst,b1,b2) { \ + u_int __i; \ + FD_ZERO(dst); \ + for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \ + if (FD_ISSET(XFD_FD(b1,__i), b2)) \ + FD_SET(XFD_FD(b1,__i), dst); \ + } \ +} + +#define XFD_ORSET(dst,b1,b2) { \ + u_int __i; \ + if (dst != b1) XFD_COPYSET(b1,dst); \ + for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \ + if (!FD_ISSET(XFD_FD(b2,__i), dst)) \ + FD_SET(XFD_FD(b2,__i), dst); \ + } \ +} + +/* this one is really sub-optimal */ +#define XFD_UNSET(dst,b1) { \ + u_int __i; \ + for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \ + FD_CLR(XFD_FD(b1,__i), dst); \ + } \ +} + +/* we have to pay the price of having an array here, unlike with bitmasks + calling twice FD_SET with the same fd is not transparent, so be careful */ +#undef FD_SET +#define FD_SET(fd,set) do { \ + if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \ + XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \ +} while(0) + +#define getdtablesize() FD_SETSIZE + +#endif /* WIN32 */ + +#endif /* _XPOLL_H_ */ diff --git a/X11/Xregion.h b/X11/Xregion.h new file mode 100644 index 000000000..7b376e556 --- /dev/null +++ b/X11/Xregion.h @@ -0,0 +1,189 @@ +/************************************************************************ + +Copyright 1987, 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 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 _XREGION_H +#define _XREGION_H + +typedef struct { + short x1, x2, y1, y2; +} Box, BOX, BoxRec, *BoxPtr; + +typedef struct { + short x, y, width, height; +}RECTANGLE, RectangleRec, *RectanglePtr; + +#define TRUE 1 +#define FALSE 0 +#define MAXSHORT 32767 +#define MINSHORT -MAXSHORT +#ifndef MAX +#define MAX(a,b) (((a) > (b)) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) (((a) < (b)) ? (a) : (b)) +#endif + + +/* + * clip region + */ + +typedef struct _XRegion { + long size; + long numRects; + BOX *rects; + BOX extents; +} REGION; + +/* Xutil.h contains the declaration: + * typedef struct _XRegion *Region; + */ + +/* 1 if two BOXs overlap. + * 0 if two BOXs do not overlap. + * Remember, x2 and y2 are not in the region + */ +#define EXTENTCHECK(r1, r2) \ + ((r1)->x2 > (r2)->x1 && \ + (r1)->x1 < (r2)->x2 && \ + (r1)->y2 > (r2)->y1 && \ + (r1)->y1 < (r2)->y2) + +/* + * update region extents + */ +#define EXTENTS(r,idRect){\ + if((r)->x1 < (idRect)->extents.x1)\ + (idRect)->extents.x1 = (r)->x1;\ + if((r)->y1 < (idRect)->extents.y1)\ + (idRect)->extents.y1 = (r)->y1;\ + if((r)->x2 > (idRect)->extents.x2)\ + (idRect)->extents.x2 = (r)->x2;\ + if((r)->y2 > (idRect)->extents.y2)\ + (idRect)->extents.y2 = (r)->y2;\ + } + +/* + * Check to see if there is enough memory in the present region. + */ +#define MEMCHECK(reg, rect, firstrect){\ + if ((reg)->numRects >= ((reg)->size - 1)){\ + (firstrect) = (BOX *) Xrealloc \ + ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\ + if ((firstrect) == 0)\ + return(0);\ + (reg)->size *= 2;\ + (rect) = &(firstrect)[(reg)->numRects];\ + }\ + } + +/* this routine checks to see if the previous rectangle is the same + * or subsumes the new rectangle to add. + */ + +#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\ + (!(((Reg)->numRects > 0)&&\ + ((R-1)->y1 == (Ry1)) &&\ + ((R-1)->y2 == (Ry2)) &&\ + ((R-1)->x1 <= (Rx1)) &&\ + ((R-1)->x2 >= (Rx2)))) + +/* add a rectangle to the given Region */ +#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\ + if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\ + CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\ + (r)->x1 = (rx1);\ + (r)->y1 = (ry1);\ + (r)->x2 = (rx2);\ + (r)->y2 = (ry2);\ + EXTENTS((r), (reg));\ + (reg)->numRects++;\ + (r)++;\ + }\ + } + + + +/* add a rectangle to the given Region */ +#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\ + if ((rx1 < rx2) && (ry1 < ry2) &&\ + CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\ + (r)->x1 = (rx1);\ + (r)->y1 = (ry1);\ + (r)->x2 = (rx2);\ + (r)->y2 = (ry2);\ + (reg)->numRects++;\ + (r)++;\ + }\ + } + +#define EMPTY_REGION(pReg) pReg->numRects = 0 + +#define REGION_NOT_EMPTY(pReg) pReg->numRects + +#define INBOX(r, x, y) \ + ( ( ((r).x2 > x)) && \ + ( ((r).x1 <= x)) && \ + ( ((r).y2 > y)) && \ + ( ((r).y1 <= y)) ) + +/* + * number of points to buffer before sending them off + * to scanlines() : Must be an even number + */ +#define NUMPTSTOBUFFER 200 + +/* + * used to allocate buffers for points and link + * the buffers together + */ +typedef struct _POINTBLOCK { + XPoint pts[NUMPTSTOBUFFER]; + struct _POINTBLOCK *next; +} POINTBLOCK; + +#endif diff --git a/X11/Xresource.h b/X11/Xresource.h new file mode 100644 index 000000000..dbb144c27 --- /dev/null +++ b/X11/Xresource.h @@ -0,0 +1,358 @@ + +/*********************************************************** + +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 _XRESOURCE_H_ +#define _XRESOURCE_H_ + +#ifndef _XP_PRINT_SERVER_ +#include <X11/Xlib.h> +#endif + +/**************************************************************** + **************************************************************** + *** *** + *** *** + *** X Resource Manager Intrinsics *** + *** *** + *** *** + **************************************************************** + ****************************************************************/ + +_XFUNCPROTOBEGIN + +/**************************************************************** + * + * Memory Management + * + ****************************************************************/ + +extern char *Xpermalloc( + unsigned int /* size */ +); + +/**************************************************************** + * + * Quark Management + * + ****************************************************************/ + +typedef int XrmQuark, *XrmQuarkList; +#define NULLQUARK ((XrmQuark) 0) + +typedef char *XrmString; +#define NULLSTRING ((XrmString) 0) + +/* find quark for string, create new quark if none already exists */ +extern XrmQuark XrmStringToQuark( + _Xconst char* /* string */ +); + +extern XrmQuark XrmPermStringToQuark( + _Xconst char* /* string */ +); + +/* find string for quark */ +extern XrmString XrmQuarkToString( + XrmQuark /* quark */ +); + +extern XrmQuark XrmUniqueQuark( + void +); + +#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0) + + +/**************************************************************** + * + * Conversion of Strings to Lists + * + ****************************************************************/ + +typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList; + +extern void XrmStringToQuarkList( + _Xconst char* /* string */, + XrmQuarkList /* quarks_return */ +); + +extern void XrmStringToBindingQuarkList( + _Xconst char* /* string */, + XrmBindingList /* bindings_return */, + XrmQuarkList /* quarks_return */ +); + +/**************************************************************** + * + * Name and Class lists. + * + ****************************************************************/ + +typedef XrmQuark XrmName; +typedef XrmQuarkList XrmNameList; +#define XrmNameToString(name) XrmQuarkToString(name) +#define XrmStringToName(string) XrmStringToQuark(string) +#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name) + +typedef XrmQuark XrmClass; +typedef XrmQuarkList XrmClassList; +#define XrmClassToString(c_class) XrmQuarkToString(c_class) +#define XrmStringToClass(c_class) XrmStringToQuark(c_class) +#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class) + + + +/**************************************************************** + * + * Resource Representation Types and Values + * + ****************************************************************/ + +typedef XrmQuark XrmRepresentation; +#define XrmStringToRepresentation(string) XrmStringToQuark(string) +#define XrmRepresentationToString(type) XrmQuarkToString(type) + +typedef struct { + unsigned int size; + XPointer addr; +} XrmValue, *XrmValuePtr; + + +/**************************************************************** + * + * Resource Manager Functions + * + ****************************************************************/ + +typedef struct _XrmHashBucketRec *XrmHashBucket; +typedef XrmHashBucket *XrmHashTable; +typedef XrmHashTable XrmSearchList[]; +typedef struct _XrmHashBucketRec *XrmDatabase; + + +extern void XrmDestroyDatabase( + XrmDatabase /* database */ +); + +extern void XrmQPutResource( + XrmDatabase* /* database */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + XrmRepresentation /* type */, + XrmValue* /* value */ +); + +extern void XrmPutResource( + XrmDatabase* /* database */, + _Xconst char* /* specifier */, + _Xconst char* /* type */, + XrmValue* /* value */ +); + +extern void XrmQPutStringResource( + XrmDatabase* /* database */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + _Xconst char* /* value */ +); + +extern void XrmPutStringResource( + XrmDatabase* /* database */, + _Xconst char* /* specifier */, + _Xconst char* /* value */ +); + +extern void XrmPutLineResource( + XrmDatabase* /* database */, + _Xconst char* /* line */ +); + +extern Bool XrmQGetResource( + XrmDatabase /* database */, + XrmNameList /* quark_name */, + XrmClassList /* quark_class */, + XrmRepresentation* /* quark_type_return */, + XrmValue* /* value_return */ +); + +extern Bool XrmGetResource( + XrmDatabase /* database */, + _Xconst char* /* str_name */, + _Xconst char* /* str_class */, + char** /* str_type_return */, + XrmValue* /* value_return */ +); + +extern Bool XrmQGetSearchList( + XrmDatabase /* database */, + XrmNameList /* names */, + XrmClassList /* classes */, + XrmSearchList /* list_return */, + int /* list_length */ +); + +extern Bool XrmQGetSearchResource( + XrmSearchList /* list */, + XrmName /* name */, + XrmClass /* class */, + XrmRepresentation* /* type_return */, + XrmValue* /* value_return */ +); + +/**************************************************************** + * + * Resource Database Management + * + ****************************************************************/ + +#ifndef _XP_PRINT_SERVER_ + +extern void XrmSetDatabase( + Display* /* display */, + XrmDatabase /* database */ +); + +extern XrmDatabase XrmGetDatabase( + Display* /* display */ +); + +#endif /* !_XP_PRINT_SERVER_ */ + +extern XrmDatabase XrmGetFileDatabase( + _Xconst char* /* filename */ +); + +extern Status XrmCombineFileDatabase( + _Xconst char* /* filename */, + XrmDatabase* /* target */, + Bool /* override */ +); + +extern XrmDatabase XrmGetStringDatabase( + _Xconst char* /* data */ /* null terminated string */ +); + +extern void XrmPutFileDatabase( + XrmDatabase /* database */, + _Xconst char* /* filename */ +); + +extern void XrmMergeDatabases( + XrmDatabase /* source_db */, + XrmDatabase* /* target_db */ +); + +extern void XrmCombineDatabase( + XrmDatabase /* source_db */, + XrmDatabase* /* target_db */, + Bool /* override */ +); + +#define XrmEnumAllLevels 0 +#define XrmEnumOneLevel 1 + +extern Bool XrmEnumerateDatabase( + XrmDatabase /* db */, + XrmNameList /* name_prefix */, + XrmClassList /* class_prefix */, + int /* mode */, + Bool (*)( + XrmDatabase* /* db */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + XrmRepresentation* /* type */, + XrmValue* /* value */, + XPointer /* closure */ + ) /* proc */, + XPointer /* closure */ +); + +extern const char *XrmLocaleOfDatabase( + XrmDatabase /* database */ +); + + +/**************************************************************** + * + * Command line option mapping to resource entries + * + ****************************************************************/ + +typedef enum { + XrmoptionNoArg, /* Value is specified in OptionDescRec.value */ + XrmoptionIsArg, /* Value is the option string itself */ + XrmoptionStickyArg, /* Value is characters immediately following option */ + XrmoptionSepArg, /* Value is next argument in argv */ + XrmoptionResArg, /* Resource and value in next argument in argv */ + XrmoptionSkipArg, /* Ignore this option and the next argument in argv */ + XrmoptionSkipLine, /* Ignore this option and the rest of argv */ + XrmoptionSkipNArgs /* Ignore this option and the next + OptionDescRes.value arguments in argv */ +} XrmOptionKind; + +typedef struct { + char *option; /* Option abbreviation in argv */ + char *specifier; /* Resource specifier */ + XrmOptionKind argKind; /* Which style of option it is */ + XPointer value; /* Value to provide if XrmoptionNoArg */ +} XrmOptionDescRec, *XrmOptionDescList; + + +extern void XrmParseCommand( + XrmDatabase* /* database */, + XrmOptionDescList /* table */, + int /* table_count */, + _Xconst char* /* name */, + int* /* argc_in_out */, + char** /* argv_in_out */ +); + +_XFUNCPROTOEND + +#endif /* _XRESOURCE_H_ */ +/* DON'T ADD STUFF AFTER THIS #endif */ 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 */ diff --git a/X11/Xutil.h b/X11/Xutil.h new file mode 100644 index 000000000..8ff34d9f0 --- /dev/null +++ b/X11/Xutil.h @@ -0,0 +1,826 @@ + +/*********************************************************** + +Copyright 1987, 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 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 _XUTIL_H_ +#define _XUTIL_H_ + +/* You must include <X11/Xlib.h> before including this file */ +#include <X11/Xlib.h> +#include <X11/keysym.h> + +/* + * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding + * value (x, y, width, height) was found in the parsed string. + */ +#define NoValue 0x0000 +#define XValue 0x0001 +#define YValue 0x0002 +#define WidthValue 0x0004 +#define HeightValue 0x0008 +#define AllValues 0x000F +#define XNegative 0x0010 +#define YNegative 0x0020 + +/* + * new version containing base_width, base_height, and win_gravity fields; + * used with WM_NORMAL_HINTS. + */ +typedef struct { + long flags; /* marks which fields in this structure are defined */ + int x, y; /* obsolete for new window mgrs, but clients */ + int width, height; /* should set so old wm's don't mess up */ + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; + struct { + int x; /* numerator */ + int y; /* denominator */ + } min_aspect, max_aspect; + int base_width, base_height; /* added by ICCCM version 1 */ + int win_gravity; /* added by ICCCM version 1 */ +} XSizeHints; + +/* + * The next block of definitions are for window manager properties that + * clients and applications use for communication. + */ + +/* flags argument in size hints */ +#define USPosition (1L << 0) /* user specified x, y */ +#define USSize (1L << 1) /* user specified width, height */ + +#define PPosition (1L << 2) /* program specified position */ +#define PSize (1L << 3) /* program specified size */ +#define PMinSize (1L << 4) /* program specified minimum size */ +#define PMaxSize (1L << 5) /* program specified maximum size */ +#define PResizeInc (1L << 6) /* program specified resize increments */ +#define PAspect (1L << 7) /* program specified min and max aspect ratios */ +#define PBaseSize (1L << 8) /* program specified base for incrementing */ +#define PWinGravity (1L << 9) /* program specified window gravity */ + +/* obsolete */ +#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect) + + + +typedef struct { + long flags; /* marks which fields in this structure are defined */ + Bool input; /* does this application rely on the window manager to + get keyboard input? */ + int initial_state; /* see below */ + Pixmap icon_pixmap; /* pixmap to be used as icon */ + Window icon_window; /* window to be used as icon */ + int icon_x, icon_y; /* initial position of icon */ + Pixmap icon_mask; /* icon mask bitmap */ + XID window_group; /* id of related window group */ + /* this structure may be extended in the future */ +} XWMHints; + +/* definition for flags of XWMHints */ + +#define InputHint (1L << 0) +#define StateHint (1L << 1) +#define IconPixmapHint (1L << 2) +#define IconWindowHint (1L << 3) +#define IconPositionHint (1L << 4) +#define IconMaskHint (1L << 5) +#define WindowGroupHint (1L << 6) +#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \ +IconPositionHint|IconMaskHint|WindowGroupHint) +#define XUrgencyHint (1L << 8) + +/* definitions for initial window state */ +#define WithdrawnState 0 /* for windows that are not mapped */ +#define NormalState 1 /* most applications want to start this way */ +#define IconicState 3 /* application wants to start as an icon */ + +/* + * Obsolete states no longer defined by ICCCM + */ +#define DontCareState 0 /* don't know or care */ +#define ZoomState 2 /* application wants to start zoomed */ +#define InactiveState 4 /* application believes it is seldom used; */ + /* some wm's may put it on inactive menu */ + + +/* + * new structure for manipulating TEXT properties; used with WM_NAME, + * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. + */ +typedef struct { + unsigned char *value; /* same as Property routines */ + Atom encoding; /* prop type */ + int format; /* prop data format: 8, 16, or 32 */ + unsigned long nitems; /* number of data items in value */ +} XTextProperty; + +#define XNoMemory -1 +#define XLocaleNotSupported -2 +#define XConverterNotFound -3 + +typedef enum { + XStringStyle, /* STRING */ + XCompoundTextStyle, /* COMPOUND_TEXT */ + XTextStyle, /* text in owner's encoding (current locale)*/ + XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */ + /* The following is an XFree86 extension, introduced in November 2000 */ + XUTF8StringStyle /* UTF8_STRING */ +} XICCEncodingStyle; + +typedef struct { + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; +} XIconSize; + +typedef struct { + char *res_name; + char *res_class; +} XClassHint; + +#ifdef XUTIL_DEFINE_FUNCTIONS +extern int XDestroyImage( + XImage *ximage); +extern unsigned long XGetPixel( + XImage *ximage, + int x, int y); +extern int XPutPixel( + XImage *ximage, + int x, int y, + unsigned long pixel); +extern XImage *XSubImage( + XImage *ximage, + int x, int y, + unsigned int width, unsigned int height); +extern int XAddPixel( + XImage *ximage, + long value); +#else +/* + * These macros are used to give some sugar to the image routines so that + * naive people are more comfortable with them. + */ +#define XDestroyImage(ximage) \ + ((*((ximage)->f.destroy_image))((ximage))) +#define XGetPixel(ximage, x, y) \ + ((*((ximage)->f.get_pixel))((ximage), (x), (y))) +#define XPutPixel(ximage, x, y, pixel) \ + ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel))) +#define XSubImage(ximage, x, y, width, height) \ + ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height))) +#define XAddPixel(ximage, value) \ + ((*((ximage)->f.add_pixel))((ximage), (value))) +#endif + +/* + * Compose sequence status structure, used in calling XLookupString. + */ +typedef struct _XComposeStatus { + XPointer compose_ptr; /* state table pointer */ + int chars_matched; /* match state */ +} XComposeStatus; + +/* + * Keysym macros, used on Keysyms to test for classes of symbols + */ +#define IsKeypadKey(keysym) \ + (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal)) + +#define IsPrivateKeypadKey(keysym) \ + (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF)) + +#define IsCursorKey(keysym) \ + (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select)) + +#define IsPFKey(keysym) \ + (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4)) + +#define IsFunctionKey(keysym) \ + (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35)) + +#define IsMiscFunctionKey(keysym) \ + (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break)) + +#ifdef XK_XKB_KEYS +#define IsModifierKey(keysym) \ + ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \ + || (((KeySym)(keysym) >= XK_ISO_Lock) && \ + ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \ + || ((KeySym)(keysym) == XK_Mode_switch) \ + || ((KeySym)(keysym) == XK_Num_Lock)) +#else +#define IsModifierKey(keysym) \ + ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \ + || ((KeySym)(keysym) == XK_Mode_switch) \ + || ((KeySym)(keysym) == XK_Num_Lock)) +#endif +/* + * opaque reference to Region data type + */ +typedef struct _XRegion *Region; + +/* Return values from XRectInRegion() */ + +#define RectangleOut 0 +#define RectangleIn 1 +#define RectanglePart 2 + + +/* + * Information used by the visual utility routines to find desired visual + * type from the many visuals a display may support. + */ + +typedef struct { + Visual *visual; + VisualID visualid; + int screen; + int depth; +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ */ +#else + int class; +#endif + unsigned long red_mask; + unsigned long green_mask; + unsigned long blue_mask; + int colormap_size; + int bits_per_rgb; +} XVisualInfo; + +#define VisualNoMask 0x0 +#define VisualIDMask 0x1 +#define VisualScreenMask 0x2 +#define VisualDepthMask 0x4 +#define VisualClassMask 0x8 +#define VisualRedMaskMask 0x10 +#define VisualGreenMaskMask 0x20 +#define VisualBlueMaskMask 0x40 +#define VisualColormapSizeMask 0x80 +#define VisualBitsPerRGBMask 0x100 +#define VisualAllMask 0x1FF + +/* + * This defines a window manager property that clients may use to + * share standard color maps of type RGB_COLOR_MAP: + */ +typedef struct { + Colormap colormap; + unsigned long red_max; + unsigned long red_mult; + unsigned long green_max; + unsigned long green_mult; + unsigned long blue_max; + unsigned long blue_mult; + unsigned long base_pixel; + VisualID visualid; /* added by ICCCM version 1 */ + XID killid; /* added by ICCCM version 1 */ +} XStandardColormap; + +#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */ + + +/* + * return codes for XReadBitmapFile and XWriteBitmapFile + */ +#define BitmapSuccess 0 +#define BitmapOpenFailed 1 +#define BitmapFileInvalid 2 +#define BitmapNoMemory 3 + +/**************************************************************** + * + * Context Management + * + ****************************************************************/ + + +/* Associative lookup table return codes */ + +#define XCSUCCESS 0 /* No error. */ +#define XCNOMEM 1 /* Out of memory */ +#define XCNOENT 2 /* No entry in table */ + +typedef int XContext; + +#define XUniqueContext() ((XContext) XrmUniqueQuark()) +#define XStringToContext(string) ((XContext) XrmStringToQuark(string)) + +_XFUNCPROTOBEGIN + +/* The following declarations are alphabetized. */ + +extern XClassHint *XAllocClassHint ( + void +); + +extern XIconSize *XAllocIconSize ( + void +); + +extern XSizeHints *XAllocSizeHints ( + void +); + +extern XStandardColormap *XAllocStandardColormap ( + void +); + +extern XWMHints *XAllocWMHints ( + void +); + +extern int XClipBox( + Region /* r */, + XRectangle* /* rect_return */ +); + +extern Region XCreateRegion( + void +); + +extern const char *XDefaultString (void); + +extern int XDeleteContext( + Display* /* display */, + XID /* rid */, + XContext /* context */ +); + +extern int XDestroyRegion( + Region /* r */ +); + +extern int XEmptyRegion( + Region /* r */ +); + +extern int XEqualRegion( + Region /* r1 */, + Region /* r2 */ +); + +extern int XFindContext( + Display* /* display */, + XID /* rid */, + XContext /* context */, + XPointer* /* data_return */ +); + +extern Status XGetClassHint( + Display* /* display */, + Window /* w */, + XClassHint* /* class_hints_return */ +); + +extern Status XGetIconSizes( + Display* /* display */, + Window /* w */, + XIconSize** /* size_list_return */, + int* /* count_return */ +); + +extern Status XGetNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */ +); + +extern Status XGetRGBColormaps( + Display* /* display */, + Window /* w */, + XStandardColormap** /* stdcmap_return */, + int* /* count_return */, + Atom /* property */ +); + +extern Status XGetSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + Atom /* property */ +); + +extern Status XGetStandardColormap( + Display* /* display */, + Window /* w */, + XStandardColormap* /* colormap_return */, + Atom /* property */ +); + +extern Status XGetTextProperty( + Display* /* display */, + Window /* window */, + XTextProperty* /* text_prop_return */, + Atom /* property */ +); + +extern XVisualInfo *XGetVisualInfo( + Display* /* display */, + long /* vinfo_mask */, + XVisualInfo* /* vinfo_template */, + int* /* nitems_return */ +); + +extern Status XGetWMClientMachine( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern XWMHints *XGetWMHints( + Display* /* display */, + Window /* w */ +); + +extern Status XGetWMIconName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern Status XGetWMName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern Status XGetWMNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + long* /* supplied_return */ +); + +extern Status XGetWMSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + long* /* supplied_return */, + Atom /* property */ +); + +extern Status XGetZoomHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* zhints_return */ +); + +extern int XIntersectRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern void XConvertCase( + KeySym /* sym */, + KeySym* /* lower */, + KeySym* /* upper */ +); + +extern int XLookupString( + XKeyEvent* /* event_struct */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + XComposeStatus* /* status_in_out */ +); + +extern Status XMatchVisualInfo( + Display* /* display */, + int /* screen */, + int /* depth */, + int /* class */, + XVisualInfo* /* vinfo_return */ +); + +extern int XOffsetRegion( + Region /* r */, + int /* dx */, + int /* dy */ +); + +extern Bool XPointInRegion( + Region /* r */, + int /* x */, + int /* y */ +); + +extern Region XPolygonRegion( + XPoint* /* points */, + int /* n */, + int /* fill_rule */ +); + +extern int XRectInRegion( + Region /* r */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XSaveContext( + Display* /* display */, + XID /* rid */, + XContext /* context */, + _Xconst char* /* data */ +); + +extern int XSetClassHint( + Display* /* display */, + Window /* w */, + XClassHint* /* class_hints */ +); + +extern int XSetIconSizes( + Display* /* display */, + Window /* w */, + XIconSize* /* size_list */, + int /* count */ +); + +extern int XSetNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */ +); + +extern void XSetRGBColormaps( + Display* /* display */, + Window /* w */, + XStandardColormap* /* stdcmaps */, + int /* count */, + Atom /* property */ +); + +extern int XSetSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */, + Atom /* property */ +); + +extern int XSetStandardProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + Pixmap /* icon_pixmap */, + char** /* argv */, + int /* argc */, + XSizeHints* /* hints */ +); + +extern void XSetTextProperty( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */, + Atom /* property */ +); + +extern void XSetWMClientMachine( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern int XSetWMHints( + Display* /* display */, + Window /* w */, + XWMHints* /* wm_hints */ +); + +extern void XSetWMIconName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern void XSetWMName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern void XSetWMNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */ +); + +extern void XSetWMProperties( + Display* /* display */, + Window /* w */, + XTextProperty* /* window_name */, + XTextProperty* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void XmbSetWMProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void Xutf8SetWMProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void XSetWMSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */, + Atom /* property */ +); + +extern int XSetRegion( + Display* /* display */, + GC /* gc */, + Region /* r */ +); + +extern void XSetStandardColormap( + Display* /* display */, + Window /* w */, + XStandardColormap* /* colormap */, + Atom /* property */ +); + +extern int XSetZoomHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* zhints */ +); + +extern int XShrinkRegion( + Region /* r */, + int /* dx */, + int /* dy */ +); + +extern Status XStringListToTextProperty( + char** /* list */, + int /* count */, + XTextProperty* /* text_prop_return */ +); + +extern int XSubtractRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern int XmbTextListToTextProperty( + Display* display, + char** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern int XwcTextListToTextProperty( + Display* display, + wchar_t** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern int Xutf8TextListToTextProperty( + Display* display, + char** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern void XwcFreeStringList( + wchar_t** list +); + +extern Status XTextPropertyToStringList( + XTextProperty* /* text_prop */, + char*** /* list_return */, + int* /* count_return */ +); + +extern int XmbTextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + char*** list_return, + int* count_return +); + +extern int XwcTextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + wchar_t*** list_return, + int* count_return +); + +extern int Xutf8TextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + char*** list_return, + int* count_return +); + +extern int XUnionRectWithRegion( + XRectangle* /* rectangle */, + Region /* src_region */, + Region /* dest_region_return */ +); + +extern int XUnionRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern int XWMGeometry( + Display* /* display */, + int /* screen_number */, + _Xconst char* /* user_geometry */, + _Xconst char* /* default_geometry */, + unsigned int /* border_width */, + XSizeHints* /* hints */, + int* /* x_return */, + int* /* y_return */, + int* /* width_return */, + int* /* height_return */, + int* /* gravity_return */ +); + +extern int XXorRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +_XFUNCPROTOEND + +#endif /* _XUTIL_H_ */ diff --git a/X11/cursorfont.h b/X11/cursorfont.h new file mode 100644 index 000000000..70d71259b --- /dev/null +++ b/X11/cursorfont.h @@ -0,0 +1,111 @@ +/* + +Copyright 1987, 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 _cursorfont_h_ +#define _cursorfont_h_ + +#define XC_num_glyphs 154 +#define XC_X_cursor 0 +#define XC_arrow 2 +#define XC_based_arrow_down 4 +#define XC_based_arrow_up 6 +#define XC_boat 8 +#define XC_bogosity 10 +#define XC_bottom_left_corner 12 +#define XC_bottom_right_corner 14 +#define XC_bottom_side 16 +#define XC_bottom_tee 18 +#define XC_box_spiral 20 +#define XC_center_ptr 22 +#define XC_circle 24 +#define XC_clock 26 +#define XC_coffee_mug 28 +#define XC_cross 30 +#define XC_cross_reverse 32 +#define XC_crosshair 34 +#define XC_diamond_cross 36 +#define XC_dot 38 +#define XC_dotbox 40 +#define XC_double_arrow 42 +#define XC_draft_large 44 +#define XC_draft_small 46 +#define XC_draped_box 48 +#define XC_exchange 50 +#define XC_fleur 52 +#define XC_gobbler 54 +#define XC_gumby 56 +#define XC_hand1 58 +#define XC_hand2 60 +#define XC_heart 62 +#define XC_icon 64 +#define XC_iron_cross 66 +#define XC_left_ptr 68 +#define XC_left_side 70 +#define XC_left_tee 72 +#define XC_leftbutton 74 +#define XC_ll_angle 76 +#define XC_lr_angle 78 +#define XC_man 80 +#define XC_middlebutton 82 +#define XC_mouse 84 +#define XC_pencil 86 +#define XC_pirate 88 +#define XC_plus 90 +#define XC_question_arrow 92 +#define XC_right_ptr 94 +#define XC_right_side 96 +#define XC_right_tee 98 +#define XC_rightbutton 100 +#define XC_rtl_logo 102 +#define XC_sailboat 104 +#define XC_sb_down_arrow 106 +#define XC_sb_h_double_arrow 108 +#define XC_sb_left_arrow 110 +#define XC_sb_right_arrow 112 +#define XC_sb_up_arrow 114 +#define XC_sb_v_double_arrow 116 +#define XC_shuttle 118 +#define XC_sizing 120 +#define XC_spider 122 +#define XC_spraycan 124 +#define XC_star 126 +#define XC_target 128 +#define XC_tcross 130 +#define XC_top_left_arrow 132 +#define XC_top_left_corner 134 +#define XC_top_right_corner 136 +#define XC_top_side 138 +#define XC_top_tee 140 +#define XC_trek 142 +#define XC_ul_angle 144 +#define XC_umbrella 146 +#define XC_ur_angle 148 +#define XC_watch 150 +#define XC_xterm 152 + +#endif /* _cursorfont_h_ */ diff --git a/X11/extensions/XI2proto.h b/X11/extensions/XI2proto.h index 2fd91ebf1..0b3bcc2f6 100644 --- a/X11/extensions/XI2proto.h +++ b/X11/extensions/XI2proto.h @@ -102,6 +102,11 @@ * COMMON STRUCTS * * * *************************************************************************************/ +#ifdef _MSC_VER +typedef int int32_t; +typedef unsigned uint32_t; +#endif + /** Fixed point 16.16 */ typedef int32_t FP1616; diff --git a/X11/extensions/XKBrules.h b/X11/extensions/XKBrules.h index 0d77ca323..91ec51099 100644 --- a/X11/extensions/XKBrules.h +++ b/X11/extensions/XKBrules.h @@ -181,7 +181,7 @@ extern void XkbRF_Free( #define _XKB_RF_NAMES_PROP_MAXLEN 1024 #ifndef XKB_IN_SERVER - +#ifndef _MSC_VER extern Bool XkbRF_GetNamesProp( Display * /* dpy */, char ** /* rules_file_rtrn */, @@ -195,6 +195,7 @@ extern Bool XkbRF_SetNamesProp( ); #endif +#endif _XFUNCPROTOEND diff --git a/X11/extensions/Xinerama.h b/X11/extensions/Xinerama.h new file mode 100644 index 000000000..666f52a78 --- /dev/null +++ b/X11/extensions/Xinerama.h @@ -0,0 +1,74 @@ +/* + +Copyright 2003 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 _Xinerama_h +#define _Xinerama_h + +#include <X11/Xlib.h> + +typedef struct { + int screen_number; + short x_org; + short y_org; + short width; + short height; +} XineramaScreenInfo; + +_XFUNCPROTOBEGIN + +Bool XineramaQueryExtension ( + Display *dpy, + int *event_base, + int *error_base +); + +Status XineramaQueryVersion( + Display *dpy, + int *major_versionp, + int *minor_versionp +); + +Bool XineramaIsActive(Display *dpy); + + +/* + Returns the number of heads and a pointer to an array of + structures describing the position and size of the individual + heads. Returns NULL and number = 0 if Xinerama is not active. + + Returned array should be freed with XFree(). +*/ + +XineramaScreenInfo * +XineramaQueryScreens( + Display *dpy, + int *number +); + +_XFUNCPROTOEND + +#endif /* _Xinerama_h */ + diff --git a/X11/extensions/bigreqstr.h b/X11/extensions/bigreqstr.h index 0a023dbf1..df43f46de 100644 --- a/X11/extensions/bigreqstr.h +++ b/X11/extensions/bigreqstr.h @@ -1,3 +1,3 @@ -#warning "bigreqstr.h is obsolete and may be removed in the future." -#warning "include <X11/extensions/bigreqsproto.h> for the protocol defines." +#pragma message("bigreqstr.h is obsolete and may be removed in the future.") +#pragma message("include <X11/extensions/bigreqsproto.h> for the protocol defines.") #include <X11/extensions/bigreqsproto.h> diff --git a/X11/extensions/panoramiXext.h b/X11/extensions/panoramiXext.h new file mode 100644 index 000000000..9c756436e --- /dev/null +++ b/X11/extensions/panoramiXext.h @@ -0,0 +1,85 @@ +/***************************************************************** +Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. +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 +DIGITAL EQUIPMENT 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 Digital Equipment 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 Digital +Equipment Corporation. +******************************************************************/ +/* + * PanoramiX definitions + */ + +/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _panoramiXext_h +#define _panoramiXext_h + +#include <X11/Xfuncproto.h> + +typedef struct { + Window window; /* PanoramiX window - may not exist */ + int screen; + int State; /* PanroamiXOff, PanoramiXOn */ + int width; /* width of this screen */ + int height; /* height of this screen */ + int ScreenCount; /* real physical number of screens */ + XID eventMask; /* selected events for this client */ +} XPanoramiXInfo; + +_XFUNCPROTOBEGIN + +extern Bool XPanoramiXQueryExtension ( + Display * /* dpy */, + int * /* event_base_return */, + int * /* error_base_return */ +); + +extern Status XPanoramiXQueryVersion( + Display * /* dpy */, + int * /* major_version_return */, + int * /* minor_version_return */ +); + +extern XPanoramiXInfo *XPanoramiXAllocInfo ( + void +); + +extern Status XPanoramiXGetState ( + Display * /* dpy */, + Drawable /* drawable */, + XPanoramiXInfo * /* panoramiX_info */ +); + +extern Status XPanoramiXGetScreenCount ( + Display * /* dpy */, + Drawable /* drawable */, + XPanoramiXInfo * /* panoramiX_info */ +); + +extern Status XPanoramiXGetScreenSize ( + Display * /* dpy */, + Drawable /* drawable */, + int /* screen_num */, + XPanoramiXInfo * /* panoramiX_info */ +); + +_XFUNCPROTOEND + +#endif /* _panoramiXext_h */ diff --git a/X11/extensions/recordstr.h b/X11/extensions/recordstr.h index 7f269b77e..983af4dc8 100644 --- a/X11/extensions/recordstr.h +++ b/X11/extensions/recordstr.h @@ -1,4 +1,4 @@ -#warning "recordstr.h is obsolete and may be removed in the future." -#warning "include <X11/extensions/record.h> for the library interfaces." -#warning "include <X11/extensions/recordproto.h> for the protocol defines." +#pragma message( "recordstr.h is obsolete and may be removed in the future.") +#pragma message("include <X11/extensions/record.h> for the library interfaces.") +#pragma message( "include <X11/extensions/recordproto.h> for the protocol defines.") #include <X11/extensions/recordproto.h> diff --git a/X11/extensions/xcmiscstr.h b/X11/extensions/xcmiscstr.h index c2b643308..43ab9ff8b 100644 --- a/X11/extensions/xcmiscstr.h +++ b/X11/extensions/xcmiscstr.h @@ -1,3 +1,3 @@ -#warning "xcmiscstr.h is obsolete and may be removed in the future." -#warning "include <X11/extensions/xcmiscproto.h> for the protocol defines." +#pragma message( "xcmiscstr.h is obsolete and may be removed in the future." ) +#pragma message( "include <X11/extensions/xcmiscproto.h> for the protocol defines." ) #include <X11/extensions/xcmiscproto.h> diff --git a/X11/fonts/bdfint.h b/X11/fonts/bdfint.h new file mode 100644 index 000000000..d41c4a556 --- /dev/null +++ b/X11/fonts/bdfint.h @@ -0,0 +1,90 @@ +/* $Xorg: bdfint.h,v 1.4 2001/02/09 02:04:01 xorgcvs Exp $ */ + +/* + +Copyright 1990, 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/font/bitmap/bdfint.h,v 1.4 2001/01/17 19:43:26 dawes Exp $ */ + +#ifndef BDFINT_H +#define BDFINT_H + +#define bdfIsPrefix(buf,str) (!strncmp((char *)buf,str,strlen(str))) +#define bdfStrEqual(s1,s2) (!strcmp(s1,s2)) + +#define BDF_GENPROPS 6 +#define NullProperty ((FontPropPtr)0) + +/* + * This structure holds some properties we need to generate if they aren't + * specified in the BDF file and some other values read from the file + * that we'll need to calculate them. We need to keep track of whether + * or not we've read them. + */ +typedef struct BDFSTAT { + int linenum; + char *fileName; + char fontName[MAXFONTNAMELEN]; + float pointSize; + int resolution_x; + int resolution_y; + int digitCount; + int digitWidths; + int exHeight; + + FontPropPtr fontProp; + FontPropPtr pointSizeProp; + FontPropPtr resolutionXProp; + FontPropPtr resolutionYProp; + FontPropPtr resolutionProp; + FontPropPtr xHeightProp; + FontPropPtr weightProp; + FontPropPtr quadWidthProp; + BOOL haveFontAscent; + BOOL haveFontDescent; + BOOL haveDefaultCh; +} bdfFileState; + +extern void bdfError ( char * message, ... ); +extern void bdfWarning ( char *message, ... ); +extern unsigned char * bdfGetLine ( FontFilePtr file, unsigned char *buf, + int len ); +extern Atom bdfForceMakeAtom ( char *str, int *size ); +extern Atom bdfGetPropertyValue ( char *s ); +extern int bdfIsInteger ( char *str ); +extern unsigned char bdfHexByte ( unsigned char *s ); +extern Bool bdfSpecialProperty ( FontPtr pFont, FontPropPtr prop, + char isString, bdfFileState *bdfState ); +extern int bdfReadFont( FontPtr pFont, FontFilePtr file, + int bit, int byte, int glyph, int scan ); +extern int bdfReadFontInfo( FontInfoPtr pFontInfo, FontFilePtr file ); + +extern void FontCharInkMetrics ( FontPtr pFont, CharInfoPtr pCI, + xCharInfo *pInk ); +extern void FontCharReshape ( FontPtr pFont, CharInfoPtr pSrc, + CharInfoPtr pDst ); + +#endif /* BDFINT_H */ diff --git a/X11/fonts/bitmap.h b/X11/fonts/bitmap.h new file mode 100644 index 000000000..731c85f5b --- /dev/null +++ b/X11/fonts/bitmap.h @@ -0,0 +1,109 @@ +/* $Xorg: bitmap.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1990, 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/font/include/bitmap.h,v 1.9 2001/01/17 19:43:31 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _BITMAP_H_ +#define _BITMAP_H_ + +#include <X11/fonts/fntfilio.h> +#ifndef FONTMODULE +#include <stdio.h> /* just for NULL */ +#else +#include "xf86_ansic.h" +#endif + +/* + * Internal format used to store bitmap fonts + */ + +/* number of encoding entries in one segment */ +#define BITMAP_FONT_SEGMENT_SIZE 128 + +typedef struct _BitmapExtra { + Atom *glyphNames; + int *sWidths; + CARD32 bitmapsSizes[GLYPHPADOPTIONS]; + FontInfoRec info; +} BitmapExtraRec, *BitmapExtraPtr; + +typedef struct _BitmapFont { + unsigned version_num; + int num_chars; + int num_tables; + CharInfoPtr metrics; /* font metrics, including glyph pointers */ + xCharInfo *ink_metrics; /* ink metrics */ + char *bitmaps; /* base of bitmaps, useful only to free */ + CharInfoPtr **encoding; /* array of arrays of char info pointers */ + CharInfoPtr pDefault; /* default character */ + BitmapExtraPtr bitmapExtra; /* stuff not used by X server */ +} BitmapFontRec, *BitmapFontPtr; + +#define ACCESSENCODING(enc,i) \ +(enc[(i)/BITMAP_FONT_SEGMENT_SIZE]?\ +(enc[(i)/BITMAP_FONT_SEGMENT_SIZE][(i)%BITMAP_FONT_SEGMENT_SIZE]):\ +0) +#define ACCESSENCODINGL(enc,i) \ +(enc[(i)/BITMAP_FONT_SEGMENT_SIZE][(i)%BITMAP_FONT_SEGMENT_SIZE]) + +#define SEGMENT_MAJOR(n) ((n)/BITMAP_FONT_SEGMENT_SIZE) +#define SEGMENT_MINOR(n) ((n)%BITMAP_FONT_SEGMENT_SIZE) +#define NUM_SEGMENTS(n) \ + (((n)+BITMAP_FONT_SEGMENT_SIZE-1)/BITMAP_FONT_SEGMENT_SIZE) + +extern int bitmapGetGlyphs ( FontPtr pFont, unsigned long count, + unsigned char *chars, FontEncoding charEncoding, + unsigned long *glyphCount, CharInfoPtr *glyphs ); +extern int bitmapGetMetrics ( FontPtr pFont, unsigned long count, + unsigned char *chars, FontEncoding charEncoding, + unsigned long *glyphCount, xCharInfo **glyphs ); + +extern void bitmapComputeFontBounds ( FontPtr pFont ); +extern void bitmapComputeFontInkBounds ( FontPtr pFont ); +extern Bool bitmapAddInkMetrics ( FontPtr pFont ); +extern int bitmapComputeWeight ( FontPtr pFont ); + +extern void BitmapRegisterFontFileFunctions ( void ); +extern int BitmapGetRenderIndex ( FontRendererPtr renderer ); + +extern int BitmapOpenScalable ( FontPathElementPtr fpe, FontPtr *pFont, + int flags, FontEntryPtr entry, char *fileName, + FontScalablePtr vals, fsBitmapFormat format, + fsBitmapFormatMask fmask, + FontPtr non_cachable_font ); +extern int BitmapGetInfoScalable ( FontPathElementPtr fpe, + FontInfoPtr pFontInfo, FontEntryPtr entry, + FontNamePtr fontName, char *fileName, + FontScalablePtr vals ); + +#endif /* _BITMAP_H_ */ diff --git a/X11/fonts/bufio.h b/X11/fonts/bufio.h new file mode 100644 index 000000000..b5977b1d0 --- /dev/null +++ b/X11/fonts/bufio.h @@ -0,0 +1,93 @@ +/* $Xorg: bufio.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1993, 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/font/include/bufio.h,v 1.6 2001/07/31 16:44:55 alanh Exp $ */ + +#ifndef ___BUFIO_H___ +#define ___BUFIO_H___ 1 + +#include <X11/Xfuncproto.h> + +#ifdef TEST + +#define xalloc(s) malloc(s) +#define xfree(s) free(s) + +#endif + +#define BUFFILESIZE 8192 +#define BUFFILEEOF -1 + +typedef unsigned char BufChar; +typedef struct _buffile *BufFilePtr; + +typedef struct _buffile { + BufChar *bufp; + int left; + int eof; + BufChar buffer[BUFFILESIZE]; + int (*input)( BufFilePtr /* f */); + int (*output)( int /* c */, BufFilePtr /* f */); + int (*skip)( BufFilePtr /* f */, int /* count */); + int (*close)( BufFilePtr /* f */, int /* doClose */); + char *private; +} BufFileRec; + +extern BufFilePtr BufFileCreate ( + char*, + int (*)(BufFilePtr), + int (*)(int, BufFilePtr), + int (*)(BufFilePtr, int), + int (*)(BufFilePtr, int)); +extern BufFilePtr BufFileOpenRead ( int ); +extern BufFilePtr BufFileOpenWrite ( int ); +extern BufFilePtr BufFilePushCompressed ( BufFilePtr ); +#ifdef X_GZIP_FONT_COMPRESSION +extern BufFilePtr BufFilePushZIP ( BufFilePtr ); +#endif +#ifdef X_BZIP2_FONT_COMPRESSION +extern BufFilePtr BufFilePushBZIP2 ( BufFilePtr ); +#endif +extern int BufFileClose ( BufFilePtr, int ); +extern int BufFileRead ( BufFilePtr, char*, int ); +extern int BufFileWrite ( BufFilePtr, char*, int ); + +#define BufFileGet(f) ((f)->left-- ? *(f)->bufp++ : ((f)->eof = (*(f)->input) (f))) +#define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = ((unsigned char)(c)) : (*(f)->output) ((unsigned char)(c),f)) +#define BufFileSkip(f,c) ((f)->eof = (*(f)->skip) (f, c)) + +#ifndef TRUE +#define TRUE 1 +#endif +#ifndef FALSE +#define FALSE 0 +#endif + +#endif /* ___BUFIO_H___ */ + diff --git a/X11/fonts/fntfil.h b/X11/fonts/fntfil.h new file mode 100644 index 000000000..074f2d0ea --- /dev/null +++ b/X11/fonts/fntfil.h @@ -0,0 +1,182 @@ +/* $Xorg: fntfil.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/font/include/fntfil.h,v 1.9 2001/12/14 19:56:54 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _FONTFILE_H_ +#define _FONTFILE_H_ + +#include <X11/fonts/fontxlfd.h> + +typedef struct _FontEntry *FontEntryPtr; +typedef struct _FontTable *FontTablePtr; +typedef struct _FontName *FontNamePtr; +typedef struct _FontScaled *FontScaledPtr; +typedef struct _FontScalableExtra *FontScalableExtraPtr; +typedef struct _FontScalableEntry *FontScalableEntryPtr; +typedef struct _FontScaleAliasEntry *FontScaleAliasEntryPtr; +typedef struct _FontBitmapEntry *FontBitmapEntryPtr; +typedef struct _FontAliasEntry *FontAliasEntryPtr; +typedef struct _FontBCEntry *FontBCEntryPtr; +typedef struct _FontDirectory *FontDirectoryPtr; +typedef struct _FontRenderer *FontRendererPtr; + +#define NullFontEntry ((FontEntryPtr) 0) +#define NullFontTable ((FontTablePtr) 0) +#define NullFontName ((FontNamePtr) 0) +#define NullFontScaled ((FontScaled) 0) +#define NullFontScalableExtra ((FontScalableExtra) 0) +#define NullFontscalableEntry ((FontScalableEntry) 0) +#define NullFontScaleAliasEntry ((FontScaleAliasEntry) 0) +#define NullFontBitmapEntry ((FontBitmapEntry) 0) +#define NullFontAliasEntry ((FontAliasEntry) 0) +#define NullFontBCEntry ((FontBCEntry) 0) +#define NullFontDirectory ((FontDirectoryPtr) 0) +#define NullFontRenderer ((FontRendererPtr) 0) + +#define FONT_ENTRY_SCALABLE 0 +#define FONT_ENTRY_SCALE_ALIAS 1 +#define FONT_ENTRY_BITMAP 2 +#define FONT_ENTRY_ALIAS 3 +#define FONT_ENTRY_BC 4 + +#define MAXFONTNAMELEN 1024 +#define MAXFONTFILENAMELEN 1024 + +#define FontDirFile "fonts.dir" +#define FontAliasFile "fonts.alias" +#define FontScalableFile "fonts.scale" + +extern int FontFileNameCheck ( char *name ); +extern int FontFileInitFPE ( FontPathElementPtr fpe ); +extern int FontFileResetFPE ( FontPathElementPtr fpe ); +extern int FontFileFreeFPE ( FontPathElementPtr fpe ); +extern int FontFileOpenFont ( pointer client, FontPathElementPtr fpe, + Mask flags, char *name, int namelen, + fsBitmapFormat format, fsBitmapFormatMask fmask, + XID id, FontPtr *pFont, char **aliasName, + FontPtr non_cachable_font ); +extern void FontFileCloseFont ( FontPathElementPtr fpe, FontPtr pFont ); +extern int FontFileOpenBitmap ( FontPathElementPtr fpe, FontPtr *pFont, + int flags, FontEntryPtr entry, + fsBitmapFormat format, + fsBitmapFormatMask fmask ); +extern int FontFileListFonts ( pointer client, FontPathElementPtr fpe, + char *pat, int len, int max, + FontNamesPtr names ); +extern int FontFileStartListFonts ( pointer client, FontPathElementPtr fpe, + char *pat, int len, int max, + pointer *privatep, int mark_aliases ); +extern int FontFileStartListFontsWithInfo ( pointer client, + FontPathElementPtr fpe, + char *pat, int len, int max, + pointer *privatep ); +extern int FontFileListNextFontWithInfo ( pointer client, + FontPathElementPtr fpe, + char **namep, int *namelenp, + FontInfoPtr *pFontInfo, + int *numFonts, pointer private ); +extern int FontFileStartListFontsAndAliases ( pointer client, + FontPathElementPtr fpe, + char *pat, int len, int max, + pointer *privatep ); +extern int FontFileListNextFontOrAlias ( pointer client, + FontPathElementPtr fpe, + char **namep, int *namelenp, + char **resolvedp, int *resolvedlenp, + pointer private ); +extern void FontFileRegisterLocalFpeFunctions ( void ); +extern void CatalogueRegisterLocalFpeFunctions ( void ); + + +extern FontEntryPtr FontFileAddEntry ( FontTablePtr table, + FontEntryPtr prototype ); +extern Bool FontFileAddFontAlias ( FontDirectoryPtr dir, char *aliasName, + char *fontName ); +extern Bool FontFileAddFontFile ( FontDirectoryPtr dir, char *fontName, + char *fileName ); +extern int FontFileCountDashes ( char *name, int namelen ); +extern FontEntryPtr FontFileFindNameInDir ( FontTablePtr table, + FontNamePtr pat ); +extern FontEntryPtr FontFileFindNameInScalableDir ( FontTablePtr table, + FontNamePtr pat, + FontScalablePtr vals ); +extern int FontFileFindNamesInDir ( FontTablePtr table, FontNamePtr pat, + int max, FontNamesPtr names ); +extern int FontFileFindNamesInScalableDir ( FontTablePtr table, + FontNamePtr pat, int max, + FontNamesPtr names, + FontScalablePtr vals, + int alias_behavior, int *newmax ); + +extern void FontFileFreeDir ( FontDirectoryPtr dir ); +extern void FontFileFreeEntry ( FontEntryPtr entry ); +extern void FontFileFreeTable ( FontTablePtr table ); +extern Bool FontFileInitTable ( FontTablePtr table, int size ); +extern FontDirectoryPtr FontFileMakeDir ( char *dirName, int size ); +extern Bool FontFileMatchName ( char *name, int length, FontNamePtr pat ); +extern char * FontFileSaveString ( char *s ); +extern void FontFileSortDir ( FontDirectoryPtr dir ); +extern void FontFileSortTable ( FontTablePtr table ); + +extern void FontDefaultFormat ( int *bit, int *byte, int *glyph, int *scan ); + +extern Bool FontFileRegisterRenderer ( FontRendererPtr renderer ); +extern Bool FontFilePriorityRegisterRenderer ( FontRendererPtr renderer, + int priority ); +extern FontRendererPtr FontFileMatchRenderer ( char *fileName ); + +extern Bool FontFileAddScaledInstance ( FontEntryPtr entry, + FontScalablePtr vals, FontPtr pFont, + char *bitmapName ); +extern void FontFileSwitchStringsToBitmapPointers ( FontDirectoryPtr dir ); +extern void FontFileRemoveScaledInstance ( FontEntryPtr entry, FontPtr pFont ); +extern Bool FontFileCompleteXLFD ( FontScalablePtr vals, FontScalablePtr def ); +extern FontScaledPtr FontFileFindScaledInstance ( FontEntryPtr entry, + FontScalablePtr vals, + int noSpecificSize ); + +extern Bool FontFileRegisterBitmapSource ( FontPathElementPtr fpe ); +extern void FontFileUnregisterBitmapSource ( FontPathElementPtr fpe ); +extern void FontFileEmptyBitmapSource ( void ); +extern int FontFileMatchBitmapSource ( FontPathElementPtr fpe, + FontPtr *pFont, int flags, + FontEntryPtr entry, + FontNamePtr zeroPat, + FontScalablePtr vals, + fsBitmapFormat format, + fsBitmapFormatMask fmask, + Bool noSpecificSize ); + +extern int FontFileReadDirectory ( char *directory, FontDirectoryPtr *pdir ); +extern Bool FontFileDirectoryChanged ( FontDirectoryPtr dir ); + +#endif /* _FONTFILE_H_ */ diff --git a/X11/fonts/fntfilio.h b/X11/fonts/fntfilio.h new file mode 100644 index 000000000..f8e24f390 --- /dev/null +++ b/X11/fonts/fntfilio.h @@ -0,0 +1,56 @@ +/* $Xorg: fntfilio.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/font/include/fntfilio.h,v 1.6 2001/10/31 22:50:26 tsi Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _FNTFILIO_H_ +#define _FNTFILIO_H_ + +#include <X11/fonts/bufio.h> + +typedef BufFilePtr FontFilePtr; + +#define FontFileGetc(f) BufFileGet(f) +#define FontFilePutc(c,f) BufFilePut(c,f) +#define FontFileRead(f,b,n) BufFileRead(f,b,n) +#define FontFileWrite(f,b,n) BufFileWrite(f,b,n) +#define FontFileSkip(f,n) (BufFileSkip (f, n) != BUFFILEEOF) +#define FontFileSeek(f,n) (BufFileSeek (f,n,0) != BUFFILEEOF) + +#define FontFileEOF BUFFILEEOF + +extern FontFilePtr FontFileOpen ( const char *name ); +extern int FontFileClose ( FontFilePtr f ); +extern FontFilePtr FontFileOpenWrite ( const char *name ); +extern FontFilePtr FontFileOpenWriteFd ( int fd ); +extern FontFilePtr FontFileOpenFd ( int fd ); + +#endif /* _FNTFILIO_H_ */ diff --git a/X11/fonts/fntfilst.h b/X11/fonts/fntfilst.h new file mode 100644 index 000000000..1a71eae7a --- /dev/null +++ b/X11/fonts/fntfilst.h @@ -0,0 +1,198 @@ +/* $Xorg: fntfilst.h,v 1.5 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/font/include/fntfilst.h,v 3.8 2002/12/09 17:30:00 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _FONTFILEST_H_ +#define _FONTFILEST_H_ + +#ifndef FONTMODULE +#include <X11/Xos.h> +#endif +#ifndef XP_PSTEXT +#include <X11/fonts/fontmisc.h> +#endif +#include <X11/fonts/fontstruct.h> +#include <X11/fonts/fontxlfd.h> +#include <X11/fonts/fntfil.h> + +typedef struct _FontName { + char *name; + short length; + short ndashes; +} FontNameRec; + +typedef struct _FontScaled { + FontScalableRec vals; + FontEntryPtr bitmap; + FontPtr pFont; +} FontScaledRec; + +typedef struct _FontScalableExtra { + FontScalableRec defaults; + int numScaled; + int sizeScaled; + FontScaledPtr scaled; + pointer private; +} FontScalableExtraRec; + +typedef struct _FontScalableEntry { + FontRendererPtr renderer; + char *fileName; + FontScalableExtraPtr extra; +} FontScalableEntryRec; + +/* + * This "can't" work yet - the returned alias string must be permanent, + * but this layer would need to generate the appropriate name from the + * resolved scalable + the XLFD values passed in. XXX + */ + +typedef struct _FontScaleAliasEntry { + char *resolved; +} FontScaleAliasEntryRec; + +typedef struct _FontBitmapEntry { + FontRendererPtr renderer; + char *fileName; + FontPtr pFont; +} FontBitmapEntryRec; + +typedef struct _FontAliasEntry { + char *resolved; +} FontAliasEntryRec; + +typedef struct _FontBCEntry { + FontScalableRec vals; + FontEntryPtr entry; +} FontBCEntryRec; + +typedef struct _FontEntry { + FontNameRec name; + int type; + union _FontEntryParts { + FontScalableEntryRec scalable; + FontBitmapEntryRec bitmap; + FontAliasEntryRec alias; + FontBCEntryRec bc; + } u; +} FontEntryRec; + +typedef struct _FontTable { + int used; + int size; + FontEntryPtr entries; + Bool sorted; +} FontTableRec; + +typedef struct _FontDirectory { + char *directory; + unsigned long dir_mtime; + unsigned long alias_mtime; + FontTableRec scalable; + FontTableRec nonScalable; + char *attributes; +} FontDirectoryRec; + +/* Capability bits: for definition of capabilities bitmap in the + FontRendererRec to indicate support of XLFD enhancements */ + +#define CAP_MATRIX 0x1 +#define CAP_CHARSUBSETTING 0x2 + +typedef struct _FontRenderer { + char *fileSuffix; + int fileSuffixLen; + int (*OpenBitmap)(FontPathElementPtr /* fpe */, + FontPtr * /* pFont */, + int /* flags */, + FontEntryPtr /* entry */, + char * /* fileName */, + fsBitmapFormat /* format */, + fsBitmapFormatMask /* mask */, + FontPtr /* non_cachable_font */); + int (*OpenScalable)(FontPathElementPtr /* fpe */, + FontPtr * /* pFont */, + int /* flags */, + FontEntryPtr /* entry */, + char * /* fileName */, + FontScalablePtr /* vals */, + fsBitmapFormat /* format */, + fsBitmapFormatMask /* fmask */, + FontPtr /* non_cachable_font */); + int (*GetInfoBitmap)(FontPathElementPtr /* fpe */, + FontInfoPtr /* pFontInfo */, + FontEntryPtr /* entry */, + char * /*fileName */); + int (*GetInfoScalable)(FontPathElementPtr /* fpe */, + FontInfoPtr /* pFontInfo */, + FontEntryPtr /* entry */, + FontNamePtr /* fontName */, + char * /* fileName */, + FontScalablePtr /* vals */); + int number; + int capabilities; /* Bitmap components defined above */ +} FontRendererRec; + +typedef struct _FontRenders { + int number; + struct _FontRenderersElement { + /* In order to preserve backward compatibility, the + priority field is made invisible to renderers */ + FontRendererPtr renderer; + int priority; + } *renderers; +} FontRenderersRec, *FontRenderersPtr; + +typedef struct _BitmapInstance { + FontScalableRec vals; + FontBitmapEntryPtr bitmap; +} BitmapInstanceRec, *BitmapInstancePtr; + +typedef struct _BitmapScalablePrivate { + int numInstances; + BitmapInstancePtr instances; +} BitmapScalablePrivateRec, *BitmapScalablePrivatePtr; + +typedef struct _BitmapSources { + FontPathElementPtr *fpe; + int size; + int count; +} BitmapSourcesRec, *BitmapSourcesPtr; + +extern BitmapSourcesRec FontFileBitmapSources; + +/* Defines for FontFileFindNamesInScalableDir() behavior */ +#define NORMAL_ALIAS_BEHAVIOR 0 +#define LIST_ALIASES_AND_TARGET_NAMES (1<<0) +#define IGNORE_SCALABLE_ALIASES (1<<1) + +#endif /* _FONTFILEST_H_ */ diff --git a/X11/fonts/fontenc.h b/X11/fonts/fontenc.h new file mode 100644 index 000000000..09472cfc5 --- /dev/null +++ b/X11/fonts/fontenc.h @@ -0,0 +1,124 @@ +/* +Copyright (c) 1998-2001 by Juliusz Chroboczek + +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, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +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 +AUTHORS OR COPYRIGHT HOLDERS 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. +*/ + +/* $XFree86: xc/lib/font/include/fontenc.h,v 1.7 2000/11/14 16:54:45 dawes Exp $ */ + +/* Header for backend-independent encoding code */ + +/* An encoding is identified with a name. An encoding contains some + global encoding data, such as its size, and a set of mappings. + Mappings are identified by their type and two integers, known as + pid and eid, the interpretation of which is type dependent. */ + +#ifndef _FONTENC_H +#define _FONTENC_H + +/* Encoding types. For future extensions, clients should be prepared + to ignore unknown encoding types. */ + +/* 0 is treated specially. */ + +#define FONT_ENCODING_UNICODE 1 +#define FONT_ENCODING_TRUETYPE 2 +#define FONT_ENCODING_POSTSCRIPT 3 + +/* This structure represents a mapping, either from numeric codes from + numeric codes, or from numeric codes to strings. */ + +/* It is expected that only one of `recode' and `name' will actually + be present. However, having both fields simplifies the interface + somewhat. */ + +typedef struct _FontMap { + int type; /* the type of the mapping */ + int pid, eid; /* the identification of the mapping */ + unsigned (*recode)(unsigned, void*); /* mapping function */ + char *(*name)(unsigned, void*); /* function returning glyph names */ + void *client_data; /* second parameter of the two above */ + struct _FontMap *next; /* link to next element in list */ + /* The following was added for version 0.3 of the font interface. */ + /* It should be kept at the end to preserve binary compatibility. */ + struct _FontEnc *encoding; +} FontMapRec, *FontMapPtr; + +/* This is the structure that holds all the info for one encoding. It + consists of a charset name, its size, and a linked list of mappings + like above. */ + +typedef struct _FontEnc { + char *name; /* the name of the encoding */ + char **aliases; /* its aliases, null terminated */ + int size; /* its size, either in bytes or rows */ + int row_size; /* the size of a row, or 0 if bytes */ + FontMapPtr mappings; /* linked list of mappings */ + struct _FontEnc *next; /* link to next element */ + /* the following two were added in version 0.2 of the font interface */ + /* they should be kept at the end to preserve binary compatibility */ + int first; /* first byte or row */ + int first_col; /* first column in each row */ +} FontEncRec, *FontEncPtr; + +typedef struct _FontMapReverse { + unsigned int (*reverse)(unsigned, void*); + void *data; +} FontMapReverseRec, *FontMapReversePtr; + + +/* Function prototypes */ + +/* extract an encoding name from an XLFD name. Returns a pointer to a + *static* buffer, or NULL */ +char *FontEncFromXLFD(const char*, int); + +/* find the encoding data for a given encoding name; second parameter + is the filename of the font for which the encoding is needed. + Returns NULL on failure. */ +FontEncPtr FontEncFind(const char*, const char*); + +/* Find a given mapping for an encoding. This is only a convenience + function, as clients are allowed to scavenge the data structures + themselves (as the TrueType backend does). */ + +FontMapPtr FontMapFind(FontEncPtr, int, int, int); + +/* Do both in a single step */ +FontMapPtr FontEncMapFind(const char *, int, int, int, const char *); + +/* Recode a code. Always succeeds. */ +unsigned FontEncRecode(unsigned, FontMapPtr); + +/* Return a name for a code. Returns a string or NULL. */ +char *FontEncName(unsigned, FontMapPtr); + +/* Return a pointer to the name of the system encodings directory. */ +/* This string is static and should not be modified. */ +char* FontEncDirectory(void); + +/* Identify an encoding file. If fileName doesn't exist, or is not an + encoding file, return NULL, otherwise returns a NULL-terminated + array of strings. */ +char **FontEncIdentify(const char *fileName); + +FontMapReversePtr FontMapReverse(FontMapPtr); + +void FontMapReverseFree(FontMapReversePtr); +#endif diff --git a/X11/fonts/fontencc.h b/X11/fonts/fontencc.h new file mode 100644 index 000000000..51e0e1440 --- /dev/null +++ b/X11/fonts/fontencc.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 1998-2001 by Juliusz Chroboczek + +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, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +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 +AUTHORS OR COPYRIGHT HOLDERS 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. +*/ +/* $XFree86$ */ + +/* Binary compatibility entry points. */ + +/* This file includes code to make modules compiled for earlier + versions of the fontenc interfaces link with this one. It does + *not* provide source compatibility, as many of the data structures + now have different names. */ + +extern char *font_encoding_from_xlfd(const char*, int); +extern unsigned font_encoding_recode(unsigned, FontEncPtr, FontMapPtr); +extern FontEncPtr font_encoding_find(const char*, const char*); +extern char *font_encoding_name(unsigned, FontEncPtr, FontMapPtr); +extern char **identifyEncodingFile(const char *fileName); + diff --git a/X11/fonts/fontmisc.h b/X11/fonts/fontmisc.h new file mode 100644 index 000000000..92d4966ca --- /dev/null +++ b/X11/fonts/fontmisc.h @@ -0,0 +1,142 @@ +/* $Xorg: fontmisc.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/font/include/fontmisc.h,v 3.16 2001/12/14 19:56:54 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _FONTMISC_H_ +#define _FONTMISC_H_ + +#ifndef FONTMODULE +#include <X11/Xfuncs.h> +#include <stdlib.h> +#include <stdio.h> + +#ifndef X_NOT_POSIX +#include <unistd.h> +#else +extern int close(); +#endif + +#endif /* FONTMODULE */ + +#include <X11/Xdefs.h> + + +#ifndef LSBFirst +#define LSBFirst 0 +#define MSBFirst 1 +#endif + +#ifndef None +#define None 0l +#endif + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + +extern Atom MakeAtom ( char *string, unsigned len, int makeit ); +extern int ValidAtom ( Atom atom ); +extern char *NameForAtom (Atom atom); + +#ifndef _MSC_VER +#ifndef _HAVE_XALLOC_DECLS +#define _HAVE_XALLOC_DECLS +extern pointer Xalloc(unsigned long); +extern pointer Xrealloc(pointer, unsigned long); +extern void Xfree(pointer); +extern pointer Xcalloc(unsigned long); +#endif +#endif +extern int f_strcasecmp(const char *s1, const char *s2); + +#ifndef xalloc +#ifdef _MSC_VER +#define xalloc(n) malloc ((unsigned) n) +#define xfree(p) free ((pointer) p) +#define xrealloc(p,n) realloc (p,n) +#define xcalloc(n,s) calloc(n, s) +#else +#define xalloc(n) Xalloc ((unsigned) n) +#define xfree(p) Xfree ((pointer) p) +#define xrealloc(p,n) Xrealloc ((pointer)p,n) +#define xcalloc(n,s) Xcalloc((unsigned) n * (unsigned) s) +#endif +#endif +#define lowbit(x) ((x) & (~(x) + 1)) + +#undef assert +#define assert(x) ((void)0) + +#ifndef strcasecmp +#if defined(NEED_STRCASECMP) && !defined(FONTMODULE) +#define strcasecmp(s1,s2) f_strcasecmp(s1,s2) +#endif +#endif + +extern void +BitOrderInvert( + register unsigned char *, + register int +); + +extern void +TwoByteSwap( + register unsigned char *, + register int +); + +extern void +FourByteSwap( + register unsigned char *, + register int +); + +extern int +RepadBitmap ( + char*, + char*, + unsigned, + unsigned, + int, + int +); + +extern void CopyISOLatin1Lowered( + char * /*dest*/, + char * /*source*/, + int /*length*/ +); + +extern void register_fpe_functions(void); + +#endif /* _FONTMISC_H_ */ diff --git a/X11/fonts/fontmod.h b/X11/fonts/fontmod.h new file mode 100644 index 000000000..42d277fd4 --- /dev/null +++ b/X11/fonts/fontmod.h @@ -0,0 +1,16 @@ +/* $XFree86: xc/lib/font/include/fontmod.h,v 1.2 1998/07/25 06:57:09 dawes Exp $ */ + +#ifndef _FONTMOD_H_ +#define _FONTMOD_H_ + +typedef void (*InitFont)(void); + +typedef struct { + InitFont initFunc; + char * name; + pointer module; +} FontModule; + +extern FontModule *FontModuleList; + +#endif /* _FONTMOD_H_ */ diff --git a/X11/fonts/fontutil.h b/X11/fonts/fontutil.h new file mode 100644 index 000000000..9a73eaa47 --- /dev/null +++ b/X11/fonts/fontutil.h @@ -0,0 +1,26 @@ +/* $XFree86: xc/lib/font/include/fontutil.h,v 1.1 1999/03/14 11:17:49 dawes Exp $ */ + +#ifndef _FONTUTIL_H_ +#define _FONTUTIL_H_ + +#include <X11/fonts/FSproto.h> + +extern int FontCouldBeTerminal(FontInfoPtr); +extern int CheckFSFormat(fsBitmapFormat, fsBitmapFormatMask, int *, int *, + int *, int *, int *); +extern void FontComputeInfoAccelerators(FontInfoPtr); + +extern void GetGlyphs ( FontPtr font, unsigned long count, + unsigned char *chars, FontEncoding fontEncoding, + unsigned long *glyphcount, CharInfoPtr *glyphs ); +extern void QueryGlyphExtents ( FontPtr pFont, CharInfoPtr *charinfo, + unsigned long count, ExtentInfoRec *info ); +extern Bool QueryTextExtents ( FontPtr pFont, unsigned long count, + unsigned char *chars, ExtentInfoRec *info ); +extern Bool ParseGlyphCachingMode ( char *str ); +extern void InitGlyphCaching ( void ); +extern void SetGlyphCachingMode ( int newmode ); +extern int add_range ( fsRange *newrange, int *nranges, fsRange **range, + Bool charset_subset ); + +#endif /* _FONTUTIL_H_ */ diff --git a/X11/fonts/fontxlfd.h b/X11/fonts/fontxlfd.h new file mode 100644 index 000000000..e87b93143 --- /dev/null +++ b/X11/fonts/fontxlfd.h @@ -0,0 +1,100 @@ +/* $Xorg: fontxlfd.h,v 1.4 2001/02/09 02:04:04 xorgcvs Exp $ */ + +/* + +Copyright 1990, 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/font/include/fontxlfd.h,v 1.5 2001/01/17 19:43:32 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _FONTXLFD_H_ +#define _FONTXLFD_H_ + +#include <X11/fonts/FSproto.h> + +/* Constants for values_supplied bitmap */ + +#define SIZE_SPECIFY_MASK 0xf + +#define PIXELSIZE_MASK 0x3 +#define PIXELSIZE_UNDEFINED 0 +#define PIXELSIZE_SCALAR 0x1 +#define PIXELSIZE_ARRAY 0x2 +#define PIXELSIZE_SCALAR_NORMALIZED 0x3 /* Adjusted for resolution */ + +#define POINTSIZE_MASK 0xc +#define POINTSIZE_UNDEFINED 0 +#define POINTSIZE_SCALAR 0x4 +#define POINTSIZE_ARRAY 0x8 + +#define PIXELSIZE_WILDCARD 0x10 +#define POINTSIZE_WILDCARD 0x20 + +#define ENHANCEMENT_SPECIFY_MASK 0x40 + +#define CHARSUBSET_SPECIFIED 0x40 + +#define EPS 1.0e-20 +#define XLFD_NDIGITS 3 /* Round numbers in pixel and + point arrays to this many + digits for repeatability */ + +typedef struct _FontScalable { + int values_supplied; /* Bitmap identifying what advanced + capabilities or enhancements + were specified in the font name */ + double pixel_matrix[4]; + double point_matrix[4]; + + /* Pixel and point fields are deprecated in favor of the + transformation matrices. They are provided and filled in for the + benefit of rasterizers that do not handle the matrices. */ + + int pixel, + point; + + int x, + y, + width; + char *xlfdName; + int nranges; + fsRange *ranges; +} FontScalableRec, *FontScalablePtr; + + +extern double xlfd_round_double ( double x ); +extern Bool FontParseXLFDName ( char *fname, FontScalablePtr vals, int subst ); +extern fsRange *FontParseRanges ( char *name, int *nranges ); + +#define FONT_XLFD_REPLACE_NONE 0 +#define FONT_XLFD_REPLACE_STAR 1 +#define FONT_XLFD_REPLACE_ZERO 2 +#define FONT_XLFD_REPLACE_VALUE 3 + +#endif /* _FONTXLFD_H_ */ diff --git a/X11/fonts/pcf.h b/X11/fonts/pcf.h new file mode 100644 index 000000000..673e18449 --- /dev/null +++ b/X11/fonts/pcf.h @@ -0,0 +1,102 @@ +/* $Xorg: pcf.h,v 1.4 2001/02/09 02:04:02 xorgcvs Exp $ */ + +/* + +Copyright 1991, 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/font/bitmap/pcf.h,v 1.4 2001/12/14 19:56:47 dawes Exp $ */ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _PCF_H_ +#define _PCF_H_ + +#include <X11/fonts/fntfilio.h> + +/* + * Information used to read/write PCF fonts + */ + +typedef struct _PCFTable { + CARD32 type; + CARD32 format; + CARD32 size; + CARD32 offset; +} PCFTableRec, *PCFTablePtr; + +#define PCF_FILE_VERSION (('p'<<24)|('c'<<16)|('f'<<8)|1) +#define PCF_FORMAT_MASK 0xffffff00 + +#define PCF_DEFAULT_FORMAT 0x00000000 +#define PCF_INKBOUNDS 0x00000200 +#define PCF_ACCEL_W_INKBOUNDS 0x00000100 +#define PCF_COMPRESSED_METRICS 0x00000100 + +#define PCF_FORMAT_MATCH(a,b) (((a)&PCF_FORMAT_MASK) == ((b)&PCF_FORMAT_MASK)) + +#define PCF_GLYPH_PAD_MASK (3<<0) +#define PCF_BYTE_MASK (1<<2) +#define PCF_BIT_MASK (1<<3) +#define PCF_SCAN_UNIT_MASK (3<<4) + +#define PCF_BYTE_ORDER(f) (((f) & PCF_BYTE_MASK)?MSBFirst:LSBFirst) +#define PCF_BIT_ORDER(f) (((f) & PCF_BIT_MASK)?MSBFirst:LSBFirst) +#define PCF_GLYPH_PAD_INDEX(f) ((f) & PCF_GLYPH_PAD_MASK) +#define PCF_GLYPH_PAD(f) (1<<PCF_GLYPH_PAD_INDEX(f)) +#define PCF_SCAN_UNIT_INDEX(f) (((f) & PCF_SCAN_UNIT_MASK) >> 4) +#define PCF_SCAN_UNIT(f) (1<<PCF_SCAN_UNIT_INDEX(f)) +#define PCF_FORMAT_BITS(f) ((f) & (PCF_GLYPH_PAD_MASK|PCF_BYTE_MASK|PCF_BIT_MASK|PCF_SCAN_UNIT_MASK)) + +#define PCF_SIZE_TO_INDEX(s) ((s) == 4 ? 2 : (s) == 2 ? 1 : 0) +#define PCF_INDEX_TO_SIZE(b) (1<<b) + +#define PCF_FORMAT(bit,byte,glyph,scan) (\ + (PCF_SIZE_TO_INDEX(scan) << 4) | \ + (((bit) == MSBFirst ? 1 : 0) << 3) | \ + (((byte) == MSBFirst ? 1 : 0) << 2) | \ + (PCF_SIZE_TO_INDEX(glyph) << 0)) + +#define PCF_PROPERTIES (1<<0) +#define PCF_ACCELERATORS (1<<1) +#define PCF_METRICS (1<<2) +#define PCF_BITMAPS (1<<3) +#define PCF_INK_METRICS (1<<4) +#define PCF_BDF_ENCODINGS (1<<5) +#define PCF_SWIDTHS (1<<6) +#define PCF_GLYPH_NAMES (1<<7) +#define PCF_BDF_ACCELERATORS (1<<8) + +extern int pcfReadFont ( FontPtr pFont, FontFilePtr file, + int bit, int byte, int glyph, int scan ); +extern int pcfReadFontInfo ( FontInfoPtr pFontInfo, FontFilePtr file ); +extern int pmfReadFont ( FontPtr pFont, FontFilePtr file, + int bit, int byte, int glyph, int scan ); +extern int pcfWriteFont ( FontPtr pFont, FontFilePtr file ); +extern void pcfError ( const char *, ... ); + +#endif /* _PCF_H_ */ diff --git a/X11/xpm.h b/X11/xpm.h new file mode 100644 index 000000000..ed4613315 --- /dev/null +++ b/X11/xpm.h @@ -0,0 +1,478 @@ +/* + * Copyright (C) 1989-95 GROUPE BULL + * + * 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, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * 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 + * GROUPE BULL 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 GROUPE BULL shall not be + * used in advertising or otherwise to promote the sale, use or other dealings + * in this Software without prior written authorization from GROUPE BULL. + */ +/* $XFree86: xc/extras/Xpm/lib/xpm.h,v 1.2 2001/08/22 23:36:44 dawes Exp $ */ + +/*****************************************************************************\ +* xpm.h: * +* * +* XPM library * +* Include file * +* * +* Developed by Arnaud Le Hors * +\*****************************************************************************/ + +/* + * The code related to FOR_MSW has been added by + * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94 + */ + +/* + * The code related to AMIGA has been added by + * Lorens Younes (d93-hyo@nada.kth.se) 4/96 + */ + +#ifndef XPM_h +#define XPM_h + +/* + * first some identification numbers: + * the version and revision numbers are determined with the following rule: + * SO Major number = LIB minor version number. + * SO Minor number = LIB sub-minor version number. + * e.g: Xpm version 3.2f + * we forget the 3 which is the format number, 2 gives 2, and f gives 6. + * thus we have XpmVersion = 2 and XpmRevision = 6 + * which gives SOXPMLIBREV = 2.6 + * + * Then the XpmIncludeVersion number is built from these numbers. + */ +#define XpmFormat 3 +#define XpmVersion 4 +#define XpmRevision 11 +#define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision) + +#ifndef XPM_NUMBERS + +#ifdef FOR_MSW +# define SYSV /* uses memcpy string.h etc. */ +# include <malloc.h> +# include "simx.h" /* defines some X stuff using MSW types */ +#define NEED_STRCASECMP /* at least for MSVC++ */ +#else /* FOR_MSW */ +# ifdef AMIGA +# include "amigax.h" +# else /* not AMIGA */ +# include <X11/Xlib.h> +# include <X11/Xutil.h> +# endif /* not AMIGA */ +#endif /* FOR_MSW */ + +/* let's define Pixel if it is not done yet */ +#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED) +typedef unsigned long Pixel; /* Index into colormap */ +# define PIXEL_ALREADY_TYPEDEFED +#endif + +/* Return ErrorStatus codes: + * null if full success + * positive if partial success + * negative if failure + */ + +#define XpmColorError 1 +#define XpmSuccess 0 +#define XpmOpenFailed -1 +#define XpmFileInvalid -2 +#define XpmNoMemory -3 +#define XpmColorFailed -4 + +typedef struct { + char *name; /* Symbolic color name */ + char *value; /* Color value */ + Pixel pixel; /* Color pixel */ +} XpmColorSymbol; + +typedef struct { + char *name; /* name of the extension */ + unsigned int nlines; /* number of lines in this extension */ + char **lines; /* pointer to the extension array of strings */ +} XpmExtension; + +typedef struct { + char *string; /* characters string */ + char *symbolic; /* symbolic name */ + char *m_color; /* monochrom default */ + char *g4_color; /* 4 level grayscale default */ + char *g_color; /* other level grayscale default */ + char *c_color; /* color default */ +} XpmColor; + +typedef struct { + unsigned int width; /* image width */ + unsigned int height; /* image height */ + unsigned int cpp; /* number of characters per pixel */ + unsigned int ncolors; /* number of colors */ + XpmColor *colorTable; /* list of related colors */ + unsigned int *data; /* image data */ +} XpmImage; + +typedef struct { + unsigned long valuemask; /* Specifies which attributes are defined */ + char *hints_cmt; /* Comment of the hints section */ + char *colors_cmt; /* Comment of the colors section */ + char *pixels_cmt; /* Comment of the pixels section */ + unsigned int x_hotspot; /* Returns the x hotspot's coordinate */ + unsigned int y_hotspot; /* Returns the y hotspot's coordinate */ + unsigned int nextensions; /* number of extensions */ + XpmExtension *extensions; /* pointer to array of extensions */ +} XpmInfo; + +typedef int (*XpmAllocColorFunc)( + Display* /* display */, + Colormap /* colormap */, + char* /* colorname */, + XColor* /* xcolor */, + void* /* closure */ +); + +typedef int (*XpmFreeColorsFunc)( + Display* /* display */, + Colormap /* colormap */, + Pixel* /* pixels */, + int /* npixels */, + void* /* closure */ +); + +typedef struct { + unsigned long valuemask; /* Specifies which attributes are + defined */ + + Visual *visual; /* Specifies the visual to use */ + Colormap colormap; /* Specifies the colormap to use */ + unsigned int depth; /* Specifies the depth */ + unsigned int width; /* Returns the width of the created + pixmap */ + unsigned int height; /* Returns the height of the created + pixmap */ + unsigned int x_hotspot; /* Returns the x hotspot's + coordinate */ + unsigned int y_hotspot; /* Returns the y hotspot's + coordinate */ + unsigned int cpp; /* Specifies the number of char per + pixel */ + Pixel *pixels; /* List of used color pixels */ + unsigned int npixels; /* Number of used pixels */ + XpmColorSymbol *colorsymbols; /* List of color symbols to override */ + unsigned int numsymbols; /* Number of symbols */ + char *rgb_fname; /* RGB text file name */ + unsigned int nextensions; /* Number of extensions */ + XpmExtension *extensions; /* List of extensions */ + + unsigned int ncolors; /* Number of colors */ + XpmColor *colorTable; /* List of colors */ +/* 3.2 backward compatibility code */ + char *hints_cmt; /* Comment of the hints section */ + char *colors_cmt; /* Comment of the colors section */ + char *pixels_cmt; /* Comment of the pixels section */ +/* end 3.2 bc */ + unsigned int mask_pixel; /* Color table index of transparent + color */ + + /* Color Allocation Directives */ + Bool exactColors; /* Only use exact colors for visual */ + unsigned int closeness; /* Allowable RGB deviation */ + unsigned int red_closeness; /* Allowable red deviation */ + unsigned int green_closeness; /* Allowable green deviation */ + unsigned int blue_closeness; /* Allowable blue deviation */ + int color_key; /* Use colors from this color set */ + + Pixel *alloc_pixels; /* Returns the list of alloc'ed color + pixels */ + int nalloc_pixels; /* Returns the number of alloc'ed + color pixels */ + + Bool alloc_close_colors; /* Specify whether close colors should + be allocated using XAllocColor + or not */ + int bitmap_format; /* Specify the format of 1bit depth + images: ZPixmap or XYBitmap */ + + /* Color functions */ + XpmAllocColorFunc alloc_color; /* Application color allocator */ + XpmFreeColorsFunc free_colors; /* Application color de-allocator */ + void *color_closure; /* Application private data to pass to + alloc_color and free_colors */ + +} XpmAttributes; + +/* XpmAttributes value masks bits */ +#define XpmVisual (1L<<0) +#define XpmColormap (1L<<1) +#define XpmDepth (1L<<2) +#define XpmSize (1L<<3) /* width & height */ +#define XpmHotspot (1L<<4) /* x_hotspot & y_hotspot */ +#define XpmCharsPerPixel (1L<<5) +#define XpmColorSymbols (1L<<6) +#define XpmRgbFilename (1L<<7) +/* 3.2 backward compatibility code */ +#define XpmInfos (1L<<8) +#define XpmReturnInfos XpmInfos +/* end 3.2 bc */ +#define XpmReturnPixels (1L<<9) +#define XpmExtensions (1L<<10) +#define XpmReturnExtensions XpmExtensions + +#define XpmExactColors (1L<<11) +#define XpmCloseness (1L<<12) +#define XpmRGBCloseness (1L<<13) +#define XpmColorKey (1L<<14) + +#define XpmColorTable (1L<<15) +#define XpmReturnColorTable XpmColorTable + +#define XpmReturnAllocPixels (1L<<16) +#define XpmAllocCloseColors (1L<<17) +#define XpmBitmapFormat (1L<<18) + +#define XpmAllocColor (1L<<19) +#define XpmFreeColors (1L<<20) +#define XpmColorClosure (1L<<21) + + +/* XpmInfo value masks bits */ +#define XpmComments XpmInfos +#define XpmReturnComments XpmComments + +/* XpmAttributes mask_pixel value when there is no mask */ +#ifndef FOR_MSW +#define XpmUndefPixel 0x80000000 +#else +/* int is only 16 bit for MSW */ +#define XpmUndefPixel 0x8000 +#endif + +/* + * color keys for visual type, they must fit along with the number key of + * each related element in xpmColorKeys[] defined in XpmI.h + */ +#define XPM_MONO 2 +#define XPM_GREY4 3 +#define XPM_GRAY4 3 +#define XPM_GREY 4 +#define XPM_GRAY 4 +#define XPM_COLOR 5 + + +/* macros for forward declarations of functions with prototypes */ +#define FUNC(f, t, p) extern t f p +#define LFUNC(f, t, p) static t f p + + +/* + * functions declarations + */ + +_XFUNCPROTOBEGIN + +/* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */ +/* Same for Amiga! */ + +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromData, int, (Display *display, + Drawable d, + char **data, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateDataFromPixmap, int, (Display *display, + char ***data_return, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); + + FUNC(XpmReadFileToPixmap, int, (Display *display, + Drawable d, + char *filename, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmWriteFileFromPixmap, int, (Display *display, + char *filename, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); +#endif + + FUNC(XpmCreateImageFromData, int, (Display *display, + char **data, + XImage **image_return, + XImage **shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateDataFromImage, int, (Display *display, + char ***data_return, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmReadFileToImage, int, (Display *display, + char *filename, + XImage **image_return, + XImage **shapeimage_return, + XpmAttributes *attributes)); + + FUNC(XpmWriteFileFromImage, int, (Display *display, + char *filename, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmCreateImageFromBuffer, int, (Display *display, + char *buffer, + XImage **image_return, + XImage **shapemask_return, + XpmAttributes *attributes)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromBuffer, int, (Display *display, + Drawable d, + char *buffer, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateBufferFromImage, int, (Display *display, + char **buffer_return, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmCreateBufferFromPixmap, int, (Display *display, + char **buffer_return, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); +#endif + FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return)); + FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer)); + + FUNC(XpmReadFileToData, int, (char *filename, char ***data_return)); + FUNC(XpmWriteFileFromData, int, (char *filename, char **data)); + + FUNC(XpmAttributesSize, int, (void)); + FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes)); + FUNC(XpmFreeExtensions, void, (XpmExtension *extensions, + int nextensions)); + + FUNC(XpmFreeXpmImage, void, (XpmImage *image)); + FUNC(XpmFreeXpmInfo, void, (XpmInfo *info)); + FUNC(XpmGetErrorString, char *, (int errcode)); + FUNC(XpmLibraryVersion, int, (void)); + + /* XpmImage functions */ + FUNC(XpmReadFileToXpmImage, int, (char *filename, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmWriteFileFromXpmImage, int, (char *filename, + XpmImage *image, + XpmInfo *info)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display, + Drawable d, + XpmImage *image, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); +#endif + FUNC(XpmCreateImageFromXpmImage, int, (Display *display, + XpmImage *image, + XImage **image_return, + XImage **shapeimage_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateXpmImageFromImage, int, (Display *display, + XImage *image, + XImage *shapeimage, + XpmImage *xpmimage, + XpmAttributes *attributes)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display, + Pixmap pixmap, + Pixmap shapemask, + XpmImage *xpmimage, + XpmAttributes *attributes)); +#endif + FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateXpmImageFromData, int, (char **data, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmGetParseError, int, (char *filename, + int *linenum_return, + int *charnum_return)); + + FUNC(XpmFree, void, (void *ptr)); + +_XFUNCPROTOEND + +/* backward compatibility */ + +/* for version 3.0c */ +#define XpmPixmapColorError XpmColorError +#define XpmPixmapSuccess XpmSuccess +#define XpmPixmapOpenFailed XpmOpenFailed +#define XpmPixmapFileInvalid XpmFileInvalid +#define XpmPixmapNoMemory XpmNoMemory +#define XpmPixmapColorFailed XpmColorFailed + +#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \ + XpmReadFileToPixmap(dpy, d, file, pix, mask, att) +#define XpmWritePixmapFile(dpy, file, pix, mask, att) \ + XpmWriteFileFromPixmap(dpy, file, pix, mask, att) + +/* for version 3.0b */ +#define PixmapColorError XpmColorError +#define PixmapSuccess XpmSuccess +#define PixmapOpenFailed XpmOpenFailed +#define PixmapFileInvalid XpmFileInvalid +#define PixmapNoMemory XpmNoMemory +#define PixmapColorFailed XpmColorFailed + +#define ColorSymbol XpmColorSymbol + +#define XReadPixmapFile(dpy, d, file, pix, mask, att) \ + XpmReadFileToPixmap(dpy, d, file, pix, mask, att) +#define XWritePixmapFile(dpy, file, pix, mask, att) \ + XpmWriteFileFromPixmap(dpy, file, pix, mask, att) +#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \ + XpmCreatePixmapFromData(dpy, d, data, pix, mask, att) +#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \ + XpmCreateDataFromPixmap(dpy, data, pix, mask, att) + +#endif /* XPM_NUMBERS */ +#endif diff --git a/X11/xtrans/Xtrans.c b/X11/xtrans/Xtrans.c index 7b18f1097..d3079ff48 100644 --- a/X11/xtrans/Xtrans.c +++ b/X11/xtrans/Xtrans.c @@ -49,6 +49,9 @@ from The Open Group. #include <ctype.h> +#ifdef _MSC_VER +#include <X11\Xwinsock.h> +#endif /* * The transport table contains a definition for every transport (protocol) * family. All operations that can be made on the transport go through this @@ -115,9 +118,10 @@ Xtransport_table Xtransports[] = { { &TRANS(SCOFuncs), TRANS_LOCAL_SCO_INDEX }, #endif /* sun */ #endif /* LOCALCONN */ + { NULL, 0} }; -#define NUMTRANS (sizeof(Xtransports)/sizeof(Xtransport_table)) +#define NUMTRANS (sizeof(Xtransports)/sizeof(Xtransport_table)-1) #ifdef WIN32 @@ -728,7 +732,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) #if defined(WIN32) { #ifdef WIN32 - u_long arg; + unsigned long arg; #else int arg; #endif @@ -953,7 +957,7 @@ int TRANS(IsLocal) (XtransConnInfo ciptr) { - return (ciptr->family == AF_UNIX); + return (ciptr->family == AF_UNIX); } diff --git a/X11/xtrans/Xtranssock.c b/X11/xtrans/Xtranssock.c index 3d45c2bfb..6fc9479f5 100644 --- a/X11/xtrans/Xtranssock.c +++ b/X11/xtrans/Xtranssock.c @@ -108,11 +108,15 @@ from the copyright holders. #include <X11/Xw32defs.h> #undef close #define close closesocket +#undef ECONNREFUSED #define ECONNREFUSED WSAECONNREFUSED +#undef EADDRINUSE #define EADDRINUSE WSAEADDRINUSE +#undef EPROTOTYPE #define EPROTOTYPE WSAEPROTOTYPE #undef EWOULDBLOCK #define EWOULDBLOCK WSAEWOULDBLOCK +#undef EINPROGRESS #define EINPROGRESS WSAEINPROGRESS #undef EINTR #define EINTR WSAEINTR @@ -221,7 +225,11 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr); #endif #if defined HAVE_SOCKLEN_T || (defined(IPv6) && defined(AF_INET6)) +#ifdef _MSC_VER +# define SOCKLEN_T int +#else # define SOCKLEN_T socklen_t +#endif #elif defined(SVR4) || defined(__SVR4) || defined(__SCO__) # define SOCKLEN_T size_t #else |