Initial .bep for openjdk, this still needs a bit of work.

This commit is contained in:
Scott McCreary
2012-08-14 00:14:48 +00:00
parent 8f01cd0e87
commit 8b62f8b9bd
392 changed files with 77211 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
/***********************************************************
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.
******************************************************************/
/****************************************************************
*
* 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

View File

@@ -0,0 +1,102 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,113 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,96 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,62 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,96 @@
/***********************************************************
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.
******************************************************************/
_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

View File

@@ -0,0 +1,65 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,170 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,42 @@
#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 */

View File

@@ -0,0 +1,65 @@
/***********************************************************
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.
Copyright 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.
******************************************************************/
/*
* DEC private keysyms
* (29th bit set)
*/
/* two-key compose sequence initiators, chosen to map to Latin1 characters */
#define DXK_ring_accent 0x1000FEB0
#define DXK_circumflex_accent 0x1000FE5E
#define DXK_cedilla_accent 0x1000FE2C
#define DXK_acute_accent 0x1000FE27
#define DXK_grave_accent 0x1000FE60
#define DXK_tilde 0x1000FE7E
#define DXK_diaeresis 0x1000FE22
/* special keysym for LK2** "Remove" key on editing keypad */
#define DXK_Remove 0x1000FF00 /* Remove */

View File

@@ -0,0 +1,134 @@
/***********************************************************
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.
******************************************************************/
/*
* 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_ */

View File

@@ -0,0 +1,164 @@
/*
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 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.
HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. Hewlett-Packard shall not be liable for errors
contained herein or direct, indirect, special, incidental or
consequential damages in connection with the furnishing,
performance, or use of this material.
*/
#ifndef _HPKEYSYM_H
#define _HPKEYSYM
#define hpXK_ClearLine 0x1000FF6F
#define hpXK_InsertLine 0x1000FF70
#define hpXK_DeleteLine 0x1000FF71
#define hpXK_InsertChar 0x1000FF72
#define hpXK_DeleteChar 0x1000FF73
#define hpXK_BackTab 0x1000FF74
#define hpXK_KP_BackTab 0x1000FF75
#define hpXK_Modelock1 0x1000FF48
#define hpXK_Modelock2 0x1000FF49
#define hpXK_Reset 0x1000FF6C
#define hpXK_System 0x1000FF6D
#define hpXK_User 0x1000FF6E
#define hpXK_mute_acute 0x100000A8
#define hpXK_mute_grave 0x100000A9
#define hpXK_mute_asciicircum 0x100000AA
#define hpXK_mute_diaeresis 0x100000AB
#define hpXK_mute_asciitilde 0x100000AC
#define hpXK_lira 0x100000AF
#define hpXK_guilder 0x100000BE
#define hpXK_Ydiaeresis 0x100000EE
#define hpXK_IO 0x100000EE
#define hpXK_longminus 0x100000F6
#define hpXK_block 0x100000FC
#ifndef _OSF_Keysyms
#define _OSF_Keysyms
#define osfXK_Copy 0x1004FF02
#define osfXK_Cut 0x1004FF03
#define osfXK_Paste 0x1004FF04
#define osfXK_BackTab 0x1004FF07
#define osfXK_BackSpace 0x1004FF08
#define osfXK_Clear 0x1004FF0B
#define osfXK_Escape 0x1004FF1B
#define osfXK_AddMode 0x1004FF31
#define osfXK_PrimaryPaste 0x1004FF32
#define osfXK_QuickPaste 0x1004FF33
#define osfXK_PageLeft 0x1004FF40
#define osfXK_PageUp 0x1004FF41
#define osfXK_PageDown 0x1004FF42
#define osfXK_PageRight 0x1004FF43
#define osfXK_Activate 0x1004FF44
#define osfXK_MenuBar 0x1004FF45
#define osfXK_Left 0x1004FF51
#define osfXK_Up 0x1004FF52
#define osfXK_Right 0x1004FF53
#define osfXK_Down 0x1004FF54
#define osfXK_EndLine 0x1004FF57
#define osfXK_BeginLine 0x1004FF58
#define osfXK_EndData 0x1004FF59
#define osfXK_BeginData 0x1004FF5A
#define osfXK_PrevMenu 0x1004FF5B
#define osfXK_NextMenu 0x1004FF5C
#define osfXK_PrevField 0x1004FF5D
#define osfXK_NextField 0x1004FF5E
#define osfXK_Select 0x1004FF60
#define osfXK_Insert 0x1004FF63
#define osfXK_Undo 0x1004FF65
#define osfXK_Menu 0x1004FF67
#define osfXK_Cancel 0x1004FF69
#define osfXK_Help 0x1004FF6A
#define osfXK_SelectAll 0x1004FF71
#define osfXK_DeselectAll 0x1004FF72
#define osfXK_Reselect 0x1004FF73
#define osfXK_Extend 0x1004FF74
#define osfXK_Restore 0x1004FF78
#define osfXK_Delete 0x1004FFFF
#endif /* _OSF_Keysyms */
/**************************************************************
* The use of the following macros is deprecated.
* They are listed below only for backwards compatibility.
*/
#define XK_Reset 0x1000FF6C
#define XK_System 0x1000FF6D
#define XK_User 0x1000FF6E
#define XK_ClearLine 0x1000FF6F
#define XK_InsertLine 0x1000FF70
#define XK_DeleteLine 0x1000FF71
#define XK_InsertChar 0x1000FF72
#define XK_DeleteChar 0x1000FF73
#define XK_BackTab 0x1000FF74
#define XK_KP_BackTab 0x1000FF75
#define XK_Ext16bit_L 0x1000FF76
#define XK_Ext16bit_R 0x1000FF77
#define XK_mute_acute 0x100000a8
#define XK_mute_grave 0x100000a9
#define XK_mute_asciicircum 0x100000aa
#define XK_mute_diaeresis 0x100000ab
#define XK_mute_asciitilde 0x100000ac
#define XK_lira 0x100000af
#define XK_guilder 0x100000be
#ifndef XK_Ydiaeresis
#define XK_Ydiaeresis 0x100000ee
#endif
#define XK_IO 0x100000ee
#define XK_longminus 0x100000f6
#define XK_block 0x100000fc
#endif /* _HPKEYSYM_H */

View File

@@ -0,0 +1,73 @@
/*
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 */

View File

@@ -0,0 +1,101 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICE_H_
#define _ICE_H_
/*
* Protocol Version
*/
#define IceProtoMajor 1
#define IceProtoMinor 0
/*
* Byte Order
*/
#define IceLSBfirst 0
#define IceMSBfirst 1
/*
* ICE minor opcodes
*/
#define ICE_Error 0
#define ICE_ByteOrder 1
#define ICE_ConnectionSetup 2
#define ICE_AuthRequired 3
#define ICE_AuthReply 4
#define ICE_AuthNextPhase 5
#define ICE_ConnectionReply 6
#define ICE_ProtocolSetup 7
#define ICE_ProtocolReply 8
#define ICE_Ping 9
#define ICE_PingReply 10
#define ICE_WantToClose 11
#define ICE_NoClose 12
/*
* Error severity
*/
#define IceCanContinue 0
#define IceFatalToProtocol 1
#define IceFatalToConnection 2
/*
* ICE error classes that are common to all protocols
*/
#define IceBadMinor 0x8000
#define IceBadState 0x8001
#define IceBadLength 0x8002
#define IceBadValue 0x8003
/*
* ICE error classes that are specific to the ICE protocol
*/
#define IceBadMajor 0
#define IceNoAuth 1
#define IceNoVersion 2
#define IceSetupFailed 3
#define IceAuthRejected 4
#define IceAuthFailed 5
#define IceProtocolDuplicate 6
#define IceMajorOpcodeDuplicate 7
#define IceUnknownProtocol 8
#endif /* _ICE_H_ */

View File

@@ -0,0 +1,250 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICECONN_H_
#define _ICECONN_H_
#include <X11/ICE/ICElib.h>
/*
* Data structures for ICE connection object
*/
typedef struct _IceSavedReplyWait {
IceReplyWaitInfo *reply_wait;
Bool reply_ready;
struct _IceSavedReplyWait *next;
} _IceSavedReplyWait;
typedef struct _IcePingWait {
IcePingReplyProc ping_reply_proc;
IcePointer client_data;
struct _IcePingWait *next;
} _IcePingWait;
typedef struct {
char *vendor;
char *release;
int version_count;
IcePoVersionRec *version_recs;
int auth_count;
char **auth_names;
IcePoAuthProc *auth_procs;
IceIOErrorProc io_error_proc;
} _IcePoProtocol;
typedef struct {
char *vendor;
char *release;
int version_count;
IcePaVersionRec *version_recs;
IceProtocolSetupProc protocol_setup_proc;
IceProtocolActivateProc protocol_activate_proc;
int auth_count;
char **auth_names;
IcePaAuthProc *auth_procs;
IceHostBasedAuthProc host_based_auth_proc;
IceIOErrorProc io_error_proc;
} _IcePaProtocol;
typedef struct {
char *protocol_name;
_IcePoProtocol *orig_client;
_IcePaProtocol *accept_client;
} _IceProtocol;
typedef struct {
Bool in_use;
int my_opcode;
_IceProtocol *protocol;
IcePointer client_data;
Bool accept_flag;
union {
IcePaProcessMsgProc accept_client;
IcePoProcessMsgProc orig_client;
} process_msg_proc;
} _IceProcessMsgInfo;
typedef struct {
int his_version_index;
int my_version_index;
char *his_vendor;
char *his_release;
char my_auth_index;
IcePointer my_auth_state;
Bool must_authenticate;
} _IceConnectToMeInfo;
typedef struct {
int his_opcode;
int my_opcode;
int his_version_index;
int my_version_index;
char *his_vendor;
char *his_release;
char my_auth_index;
IcePointer my_auth_state;
Bool must_authenticate;
} _IceProtoSetupToMeInfo;
typedef struct {
Bool auth_active;
char my_auth_index;
IcePointer my_auth_state;
} _IceConnectToYouInfo;
typedef struct {
int my_opcode;
int my_auth_count;
int *my_auth_indices;
Bool auth_active;
char my_auth_index;
IcePointer my_auth_state;
} _IceProtoSetupToYouInfo;
struct _IceConn {
unsigned int io_ok : 1; /* did an IO error occur? */
unsigned int swap : 1; /* do we need to swap on reads? */
unsigned int waiting_for_byteorder : 1; /* waiting for a ByteOrder msg? */
unsigned int skip_want_to_close : 1; /* avoid shutdown negotiation? */
unsigned int want_to_close : 1; /* did we send a WantToClose? */
unsigned int free_asap : 1; /* free as soon as possible */
unsigned int unused1 : 2; /* future use */
unsigned int unused2 : 8; /* future use */
IceConnectStatus connection_status; /* pending, accepted, rejected */
unsigned char my_ice_version_index; /* which version are we using? */
struct _XtransConnInfo *trans_conn; /* transport connection object */
unsigned long send_sequence; /* Sequence # of last msg sent */
unsigned long receive_sequence; /* Sequence # of last msg received */
char *connection_string; /* network connection string */
char *vendor; /* other client's vendor */
char *release; /* other client's release */
char *inbuf; /* Input buffer starting address */
char *inbufptr; /* Input buffer index pointer */
char *inbufmax; /* Input buffer maximum+1 address */
char *outbuf; /* Output buffer starting address */
char *outbufptr; /* Output buffer index pointer */
char *outbufmax; /* Output buffer maximum+1 address */
char *scratch; /* scratch buffer */
unsigned long scratch_size; /* scratch size */
int dispatch_level; /* IceProcessMessages dispatch level */
IcePointer context; /* context associated with caller
of IceOpenConnection */
/*
* Before we read a message, the major opcode of the message must be
* mapped to our corresponding major opcode (the two clients can use
* different opcodes for the same protocol). In order to save space,
* we keep track of the mininum and maximum major opcodes used by the
* other client. To get the information on how to process this message,
* we do the following...
*
* processMsgInfo = iceConn->process_msg_info[
* message->majorOpcode - iceConn->his_min_opcode]
*
* Note that the number of elements in the iceConn->process_msg_info
* array is always (iceConn->his_max_opcode - iceConn->his_min_opcode + 1).
* We check process_msg_info->in_use to see if the opcode is being used.
*/
_IceProcessMsgInfo *process_msg_info;
char his_min_opcode; /* [1..255] */
char his_max_opcode; /* [1..255] */
/*
* Number of times this iceConn was returned in IceOpenConnection
* or IceAcceptConnection.
*/
unsigned char open_ref_count;
/*
* Number of active protocols.
*/
unsigned char proto_ref_count;
/*
* If this ICE connection was created with IceAcceptConnection,
* the listen_obj field is set to the listen object. Otherwise,
* the listen_obj field is NULL.
*/
IceListenObj listen_obj;
/*
* We need to keep track of all the replies we're waiting for.
* Check the comments in process.c for how this works.
*/
_IceSavedReplyWait *saved_reply_waits;
/*
* We keep track of all Pings sent from the client. When the Ping reply
* arrives, we remove it from the list.
*/
_IcePingWait *ping_waits;
/*
* Some state for a client doing a Connection/Protocol Setup
*/
_IceConnectToYouInfo *connect_to_you;
_IceProtoSetupToYouInfo *protosetup_to_you;
/*
* Some state for a client receiving a Connection/Protocol Setup
*/
_IceConnectToMeInfo *connect_to_me;
_IceProtoSetupToMeInfo *protosetup_to_me;
};
#endif /* _ICECONN_H_ */

View File

@@ -0,0 +1,431 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICELIB_H_
#define _ICELIB_H_
#include <X11/ICE/ICE.h>
#include <X11/Xfuncproto.h>
#define Bool int
#define Status int
#define True 1
#define False 0
typedef void *IcePointer;
typedef enum {
IcePoAuthHaveReply,
IcePoAuthRejected,
IcePoAuthFailed,
IcePoAuthDoneCleanup
} IcePoAuthStatus;
typedef enum {
IcePaAuthContinue,
IcePaAuthAccepted,
IcePaAuthRejected,
IcePaAuthFailed
} IcePaAuthStatus;
typedef enum {
IceConnectPending,
IceConnectAccepted,
IceConnectRejected,
IceConnectIOError
} IceConnectStatus;
typedef enum {
IceProtocolSetupSuccess,
IceProtocolSetupFailure,
IceProtocolSetupIOError,
IceProtocolAlreadyActive
} IceProtocolSetupStatus;
typedef enum {
IceAcceptSuccess,
IceAcceptFailure,
IceAcceptBadMalloc
} IceAcceptStatus;
typedef enum {
IceClosedNow,
IceClosedASAP,
IceConnectionInUse,
IceStartedShutdownNegotiation
} IceCloseStatus;
typedef enum {
IceProcessMessagesSuccess,
IceProcessMessagesIOError,
IceProcessMessagesConnectionClosed
} IceProcessMessagesStatus;
typedef struct {
unsigned long sequence_of_request;
int major_opcode_of_request;
int minor_opcode_of_request;
IcePointer reply;
} IceReplyWaitInfo;
typedef struct _IceConn *IceConn;
typedef struct _IceListenObj *IceListenObj;
typedef void (*IceWatchProc) (
IceConn /* iceConn */,
IcePointer /* clientData */,
Bool /* opening */,
IcePointer * /* watchData */
);
typedef void (*IcePoProcessMsgProc) (
IceConn /* iceConn */,
IcePointer /* clientData */,
int /* opcode */,
unsigned long /* length */,
Bool /* swap */,
IceReplyWaitInfo * /* replyWait */,
Bool * /* replyReadyRet */
);
typedef void (*IcePaProcessMsgProc) (
IceConn /* iceConn */,
IcePointer /* clientData */,
int /* opcode */,
unsigned long /* length */,
Bool /* swap */
);
typedef struct {
int major_version;
int minor_version;
IcePoProcessMsgProc process_msg_proc;
} IcePoVersionRec;
typedef struct {
int major_version;
int minor_version;
IcePaProcessMsgProc process_msg_proc;
} IcePaVersionRec;
typedef IcePoAuthStatus (*IcePoAuthProc) (
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* cleanUp */,
Bool /* swap */,
int /* authDataLen */,
IcePointer /* authData */,
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
);
typedef IcePaAuthStatus (*IcePaAuthProc) (
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* swap */,
int /* authDataLen */,
IcePointer /* authData */,
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
);
typedef Bool (*IceHostBasedAuthProc) (
char * /* hostName */
);
typedef Status (*IceProtocolSetupProc) (
IceConn /* iceConn */,
int /* majorVersion */,
int /* minorVersion */,
char * /* vendor */,
char * /* release */,
IcePointer * /* clientDataRet */,
char ** /* failureReasonRet */
);
typedef void (*IceProtocolActivateProc) (
IceConn /* iceConn */,
IcePointer /* clientData */
);
typedef void (*IceIOErrorProc) (
IceConn /* iceConn */
);
typedef void (*IcePingReplyProc) (
IceConn /* iceConn */,
IcePointer /* clientData */
);
typedef void (*IceErrorHandler) (
IceConn /* iceConn */,
Bool /* swap */,
int /* offendingMinorOpcode */,
unsigned long /* offendingSequence */,
int /* errorClass */,
int /* severity */,
IcePointer /* values */
);
typedef void (*IceIOErrorHandler) (
IceConn /* iceConn */
);
/*
* Function prototypes
*/
_XFUNCPROTOBEGIN
extern int IceRegisterForProtocolSetup (
char * /* protocolName */,
char * /* vendor */,
char * /* release */,
int /* versionCount */,
IcePoVersionRec * /* versionRecs */,
int /* authCount */,
const char ** /* authNames */,
IcePoAuthProc * /* authProcs */,
IceIOErrorProc /* IOErrorProc */
);
extern int IceRegisterForProtocolReply (
char * /* protocolName */,
char * /* vendor */,
char * /* release */,
int /* versionCount */,
IcePaVersionRec * /* versionRecs */,
int /* authCount */,
const char ** /* authNames */,
IcePaAuthProc * /* authProcs */,
IceHostBasedAuthProc /* hostBasedAuthProc */,
IceProtocolSetupProc /* protocolSetupProc */,
IceProtocolActivateProc /* protocolActivateProc */,
IceIOErrorProc /* IOErrorProc */
);
extern IceConn IceOpenConnection (
char * /* networkIdsList */,
IcePointer /* context */,
Bool /* mustAuthenticate */,
int /* majorOpcodeCheck */,
int /* errorLength */,
char * /* errorStringRet */
);
extern IcePointer IceGetConnectionContext (
IceConn /* iceConn */
);
extern Status IceListenForConnections (
int * /* countRet */,
IceListenObj ** /* listenObjsRet */,
int /* errorLength */,
char * /* errorStringRet */
);
extern Status IceListenForWellKnownConnections (
char * /* port */,
int * /* countRet */,
IceListenObj ** /* listenObjsRet */,
int /* errorLength */,
char * /* errorStringRet */
);
extern int IceGetListenConnectionNumber (
IceListenObj /* listenObj */
);
extern char *IceGetListenConnectionString (
IceListenObj /* listenObj */
);
extern char *IceComposeNetworkIdList (
int /* count */,
IceListenObj * /* listenObjs */
);
extern void IceFreeListenObjs (
int /* count */,
IceListenObj * /* listenObjs */
);
extern void IceSetHostBasedAuthProc (
IceListenObj /* listenObj */,
IceHostBasedAuthProc /* hostBasedAuthProc */
);
extern IceConn IceAcceptConnection (
IceListenObj /* listenObj */,
IceAcceptStatus * /* statusRet */
);
extern void IceSetShutdownNegotiation (
IceConn /* iceConn */,
Bool /* negotiate */
);
extern Bool IceCheckShutdownNegotiation (
IceConn /* iceConn */
);
extern IceCloseStatus IceCloseConnection (
IceConn /* iceConn */
);
extern Status IceAddConnectionWatch (
IceWatchProc /* watchProc */,
IcePointer /* clientData */
);
extern void IceRemoveConnectionWatch (
IceWatchProc /* watchProc */,
IcePointer /* clientData */
);
extern IceProtocolSetupStatus IceProtocolSetup (
IceConn /* iceConn */,
int /* myOpcode */,
IcePointer /* clientData */,
Bool /* mustAuthenticate */,
int * /* majorVersionRet */,
int * /* minorVersionRet */,
char ** /* vendorRet */,
char ** /* releaseRet */,
int /* errorLength */,
char * /* errorStringRet */
);
extern Status IceProtocolShutdown (
IceConn /* iceConn */,
int /* majorOpcode */
);
extern IceProcessMessagesStatus IceProcessMessages (
IceConn /* iceConn */,
IceReplyWaitInfo * /* replyWait */,
Bool * /* replyReadyRet */
);
extern Status IcePing (
IceConn /* iceConn */,
IcePingReplyProc /* pingReplyProc */,
IcePointer /* clientData */
);
extern char *IceAllocScratch (
IceConn /* iceConn */,
unsigned long /* size */
);
extern int IceFlush (
IceConn /* iceConn */
);
extern int IceGetOutBufSize (
IceConn /* iceConn */
);
extern int IceGetInBufSize (
IceConn /* iceConn */
);
extern IceConnectStatus IceConnectionStatus (
IceConn /* iceConn */
);
extern char *IceVendor (
IceConn /* iceConn */
);
extern char *IceRelease (
IceConn /* iceConn */
);
extern int IceProtocolVersion (
IceConn /* iceConn */
);
extern int IceProtocolRevision (
IceConn /* iceConn */
);
extern int IceConnectionNumber (
IceConn /* iceConn */
);
extern char *IceConnectionString (
IceConn /* iceConn */
);
extern unsigned long IceLastSentSequenceNumber (
IceConn /* iceConn */
);
extern unsigned long IceLastReceivedSequenceNumber (
IceConn /* iceConn */
);
extern Bool IceSwapping (
IceConn /* iceConn */
);
extern IceErrorHandler IceSetErrorHandler (
IceErrorHandler /* handler */
);
extern IceIOErrorHandler IceSetIOErrorHandler (
IceIOErrorHandler /* handler */
);
extern char *IceGetPeerName (
IceConn /* iceConn */
);
/*
* Multithread Routines
*/
extern Status IceInitThreads (
void
);
extern void IceAppLockConn (
IceConn /* iceConn */
);
extern void IceAppUnlockConn (
IceConn /* iceConn */
);
_XFUNCPROTOEND
#endif /* _ICELIB_H_ */

View File

@@ -0,0 +1,316 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICEMSG_H_
#define _ICEMSG_H_
#include <X11/Xfuncproto.h>
#include <X11/ICE/ICEconn.h>
_XFUNCPROTOBEGIN
/*
* Function prototypes for internal ICElib functions
*/
extern Status _IceRead (
IceConn /* iceConn */,
unsigned long /* nbytes */,
char * /* ptr */
);
extern void _IceReadSkip (
IceConn /* iceConn */,
unsigned long /* nbytes */
);
extern void _IceWrite (
IceConn /* iceConn */,
unsigned long /* nbytes */,
char * /* ptr */
);
extern void _IceErrorBadMinor (
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
);
extern void _IceErrorBadState (
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
);
extern void _IceErrorBadLength (
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
);
extern void _IceErrorBadValue (
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* offset */,
int /* length */,
IcePointer /* value */
);
extern IcePoAuthStatus _IcePoMagicCookie1Proc (
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* cleanUp */,
Bool /* swap */,
int /* authDataLen */,
IcePointer /* authData */,
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
);
extern IcePaAuthStatus _IcePaMagicCookie1Proc (
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* swap */,
int /* authDataLen */,
IcePointer /* authData */,
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
);
/*
* Macro to check if IO operations are valid on an ICE connection.
*/
#define IceValidIO(_iceConn) _iceConn->io_ok
/*
* Macros for writing messages.
*/
#define IceGetHeader(_iceConn, _major, _minor, _headerSize, _msgType, _pMsg) \
if ((_iceConn->outbufptr + _headerSize) > _iceConn->outbufmax) \
IceFlush (_iceConn); \
_pMsg = (_msgType *) _iceConn->outbufptr; \
_pMsg->majorOpcode = _major; \
_pMsg->minorOpcode = _minor; \
_pMsg->length = (_headerSize - SIZEOF (iceMsg)) >> 3; \
_iceConn->outbufptr += _headerSize; \
_iceConn->send_sequence++
#define IceGetHeaderExtra(_iceConn, _major, _minor, _headerSize, _extra, _msgType, _pMsg, _pData) \
if ((_iceConn->outbufptr + \
_headerSize + ((_extra) << 3)) > _iceConn->outbufmax) \
IceFlush (_iceConn); \
_pMsg = (_msgType *) _iceConn->outbufptr; \
if ((_iceConn->outbufptr + \
_headerSize + ((_extra) << 3)) <= _iceConn->outbufmax) \
_pData = (char *) _pMsg + _headerSize; \
else \
_pData = NULL; \
_pMsg->majorOpcode = _major; \
_pMsg->minorOpcode = _minor; \
_pMsg->length = ((_headerSize - SIZEOF (iceMsg)) >> 3) + (_extra); \
_iceConn->outbufptr += (_headerSize + ((_extra) << 3)); \
_iceConn->send_sequence++
#define IceSimpleMessage(_iceConn, _major, _minor) \
{ \
iceMsg *_pMsg; \
IceGetHeader (_iceConn, _major, _minor, SIZEOF (iceMsg), iceMsg, _pMsg); \
}
#define IceErrorHeader(_iceConn, _offendingMajorOpcode, _offendingMinorOpcode, _offendingSequenceNum, _severity, _errorClass, _dataLength) \
{ \
iceErrorMsg *_pMsg; \
\
IceGetHeader (_iceConn, _offendingMajorOpcode, ICE_Error, \
SIZEOF (iceErrorMsg), iceErrorMsg, _pMsg); \
_pMsg->length += (_dataLength); \
_pMsg->offendingMinorOpcode = _offendingMinorOpcode; \
_pMsg->severity = _severity; \
_pMsg->offendingSequenceNum = _offendingSequenceNum; \
_pMsg->errorClass = _errorClass; \
}
/*
* Write data into the ICE output buffer.
*/
#define IceWriteData(_iceConn, _bytes, _data) \
{ \
if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) \
{ \
IceFlush (_iceConn); \
_IceWrite (_iceConn, (unsigned long) (_bytes), _data); \
} \
else \
{ \
memcpy (_iceConn->outbufptr, _data, _bytes); \
_iceConn->outbufptr += (_bytes); \
} \
}
#ifndef WORD64
#define IceWriteData16(_iceConn, _bytes, _data) \
IceWriteData (_iceConn, _bytes, (char *) _data)
#define IceWriteData32(_iceConn, _bytes, _data) \
IceWriteData (_iceConn, _bytes, (char *) _data)
#else /* WORD64 */
/* IceWriteData16 and IceWriteData32 defined in misc.c for WORD64 */
#endif /* WORD64 */
/*
* The IceSendData macro bypasses copying the data to the
* ICE connection buffer and sends the data directly. If necessary,
* the ICE connection buffer is first flushed.
*/
#define IceSendData(_iceConn, _bytes, _data) \
{ \
if (_iceConn->outbufptr > _iceConn->outbuf) \
IceFlush (_iceConn); \
_IceWrite (_iceConn, (unsigned long) (_bytes), _data); \
}
/*
* Write pad bytes. Used to force 32 or 64 bit alignment.
* A maxium of 7 pad bytes can be specified.
*/
#define IceWritePad(_iceConn, _bytes) \
{ \
if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) \
{ \
char _dummy[7]; \
IceFlush (_iceConn); \
_IceWrite (_iceConn, (unsigned long) (_bytes), _dummy); \
} \
else \
{ \
_iceConn->outbufptr += (_bytes); \
} \
}
/*
* Macros for reading messages.
*/
#define IceReadCompleteMessage(_iceConn, _headerSize, _msgType, _pMsg, _pData)\
{ \
unsigned long _bytes; \
IceReadMessageHeader (_iceConn, _headerSize, _msgType, _pMsg); \
_bytes = (_pMsg->length << 3) - (_headerSize - SIZEOF (iceMsg)); \
if ((_iceConn->inbufmax - _iceConn->inbufptr) >= _bytes) \
{ \
_IceRead (_iceConn, _bytes, _iceConn->inbufptr); \
_pData = _iceConn->inbufptr; \
_iceConn->inbufptr += _bytes; \
} \
else \
{ \
_pData = (char *) malloc ((unsigned) _bytes); \
if (_pData) \
_IceRead (_iceConn, _bytes, _pData); \
else \
_IceReadSkip (_iceConn, _bytes); \
} \
}
#define IceDisposeCompleteMessage(_iceConn, _pData) \
if ((char *) _pData < _iceConn->inbuf || \
(char *) _pData >= _iceConn->inbufmax) \
free ((char *) _pData);
#define IceReadSimpleMessage(_iceConn, _msgType, _pMsg) \
_pMsg = (_msgType *) (_iceConn->inbuf);
#define IceReadMessageHeader(_iceConn, _headerSize, _msgType, _pMsg) \
{ \
_IceRead (_iceConn, \
(unsigned long) (_headerSize - SIZEOF (iceMsg)), \
_iceConn->inbufptr); \
_pMsg = (_msgType *) (_iceConn->inbuf); \
_iceConn->inbufptr += (_headerSize - SIZEOF (iceMsg)); \
}
#define IceReadData(_iceConn, _bytes, _pData) \
_IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \
#ifndef WORD64
#define IceReadData16(_iceConn, _swap, _bytes, _pData) \
{ \
_IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \
}
#define IceReadData32(_iceConn, _swap, _bytes, _pData) \
{ \
_IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \
}
#else /* WORD64 */
/* IceReadData16 and IceReadData32 defined in misc.c for WORD64 */
#endif /* WORD64 */
/*
* Read pad bytes (for 32 or 64 bit alignment).
* A maxium of 7 pad bytes can be specified.
*/
#define IceReadPad(_iceConn, _bytes) \
{ \
char _dummy[7]; \
_IceRead (_iceConn, (unsigned long) (_bytes), _dummy); \
}
_XFUNCPROTOEND
#endif /* _ICEMSG_H_ */

View File

@@ -0,0 +1,175 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICEPROTO_H_
#define _ICEPROTO_H_
#include <X11/Xmd.h>
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 data[2];
CARD32 length B32;
} iceMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD16 errorClass B16;
CARD32 length B32;
CARD8 offendingMinorOpcode;
CARD8 severity;
CARD16 unused B16;
CARD32 offendingSequenceNum B32;
/* n varying values */
/* p p = pad (n, 8) */
} iceErrorMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 byteOrder;
CARD8 unused;
CARD32 length B32;
} iceByteOrderMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 versionCount;
CARD8 authCount;
CARD32 length B32;
CARD8 mustAuthenticate;
CARD8 unused[7];
/* i STRING vendor */
/* j STRING release */
/* k LIST of STRING authentication-protocol-names */
/* m LIST of VERSION version-list */
/* p p = pad (i+j+k+m, 8) */
} iceConnectionSetupMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 authIndex;
CARD8 unused1;
CARD32 length B32;
CARD16 authDataLength B16;
CARD8 unused2[6];
/* n varying data */
/* p p = pad (n, 8) */
} iceAuthRequiredMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused1[2];
CARD32 length B32;
CARD16 authDataLength B16;
CARD8 unused2[6];
/* n varying data */
/* p p = pad (n, 8) */
} iceAuthReplyMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused1[2];
CARD32 length B32;
CARD16 authDataLength B16;
CARD8 unused2[6];
/* n varying data */
/* p p = pad (n, 8) */
} iceAuthNextPhaseMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 versionIndex;
CARD8 unused;
CARD32 length B32;
/* i STRING vendor */
/* j STRING release */
/* p p = pad (i+j, 8) */
} iceConnectionReplyMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 protocolOpcode;
CARD8 mustAuthenticate;
CARD32 length B32;
CARD8 versionCount;
CARD8 authCount;
CARD8 unused[6];
/* i STRING protocol-name */
/* j STRING vendor */
/* k STRING release */
/* m LIST of STRING authentication-protocol-names */
/* n LIST of VERSION version-list */
/* p p = pad (i+j+k+m+n, 8) */
} iceProtocolSetupMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 versionIndex;
CARD8 protocolOpcode;
CARD32 length B32;
/* i STRING vendor */
/* j STRING release */
/* p p = pad (i+j, 8) */
} iceProtocolReplyMsg;
typedef iceMsg icePingMsg;
typedef iceMsg icePingReplyMsg;
typedef iceMsg iceWantToCloseMsg;
typedef iceMsg iceNoCloseMsg;
/*
* SIZEOF values. These better be multiples of 8.
*/
#define sz_iceMsg 8
#define sz_iceErrorMsg 16
#define sz_iceByteOrderMsg 8
#define sz_iceConnectionSetupMsg 16
#define sz_iceAuthRequiredMsg 16
#define sz_iceAuthReplyMsg 16
#define sz_iceAuthNextPhaseMsg 16
#define sz_iceConnectionReplyMsg 8
#define sz_iceProtocolSetupMsg 16
#define sz_iceProtocolReplyMsg 8
#define sz_icePingMsg 8
#define sz_icePingReplyMsg 8
#define sz_iceWantToCloseMsg 8
#define sz_iceNoCloseMsg 8
#endif /* _ICEPROTO_H_ */

View File

@@ -0,0 +1,124 @@
/******************************************************************************
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.
Author: Ralph Mor, X Consortium
******************************************************************************/
#ifndef _ICEUTIL_H_
#define _ICEUTIL_H_
#include <X11/Xfuncproto.h>
#include <stdio.h>
_XFUNCPROTOBEGIN
/*
* Data structure for entry in ICE authority file
*/
typedef struct {
char *protocol_name;
unsigned short protocol_data_length;
char *protocol_data;
char *network_id;
char *auth_name;
unsigned short auth_data_length;
char *auth_data;
} IceAuthFileEntry;
/*
* Authentication data maintained in memory.
*/
typedef struct {
char *protocol_name;
char *network_id;
char *auth_name;
unsigned short auth_data_length;
char *auth_data;
} IceAuthDataEntry;
/*
* Return values from IceLockAuthFile
*/
#define IceAuthLockSuccess 0 /* lock succeeded */
#define IceAuthLockError 1 /* lock unexpectely failed, check errno */
#define IceAuthLockTimeout 2 /* lock failed, timeouts expired */
/*
* Function Prototypes
*/
extern char *IceAuthFileName (
void
);
extern int IceLockAuthFile (
char * /* file_name */,
int /* retries */,
int /* timeout */,
long /* dead */
);
extern void IceUnlockAuthFile (
char * /* file_name */
);
extern IceAuthFileEntry *IceReadAuthFileEntry (
FILE * /* auth_file */
);
extern void IceFreeAuthFileEntry (
IceAuthFileEntry * /* auth */
);
extern Status IceWriteAuthFileEntry (
FILE * /* auth_file */,
IceAuthFileEntry * /* auth */
);
extern IceAuthFileEntry *IceGetAuthFileEntry (
char * /* protocol_name */,
char * /* network_id */,
char * /* auth_name */
);
extern char *IceGenerateMagicCookie (
int /* len */
);
extern void IceSetPaAuthData (
int /* numEntries */,
IceAuthDataEntry * /* entries */
);
_XFUNCPROTOEND
#endif /* _ICEUTIL_H_ */

View File

@@ -0,0 +1,30 @@
#ifndef _X11_IMUTIL_H_
#define _X11_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 /* _X11_IMUTIL_H_ */

View File

@@ -0,0 +1,430 @@
/***********************************************************
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 _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 */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,229 @@
/***********************************************************
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 _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>
#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))
/****************************************************************
*
* 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 */

View File

@@ -0,0 +1,324 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,63 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,141 @@
/***********************************************************
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_*/

View File

@@ -0,0 +1,185 @@
/********************************************************
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.
*/
#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_ */

View File

@@ -0,0 +1,63 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,131 @@
/***********************************************************
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_*/

View File

@@ -0,0 +1,76 @@
/*
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.
******************************************************************/
#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

View File

@@ -0,0 +1,100 @@
/***********************************************************
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.
******************************************************************/
/****************************************************************
*
* 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 */

View File

@@ -0,0 +1,128 @@
/*
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.
*/
/*
* Author: Ralph Mor, X Consortium
*/
#ifndef _SM_H_
#define _SM_H_
/*
* Protocol Version
*/
#define SmProtoMajor 1
#define SmProtoMinor 0
/*
* Interact Style
*/
#define SmInteractStyleNone 0
#define SmInteractStyleErrors 1
#define SmInteractStyleAny 2
/*
* Dialog Type
*/
#define SmDialogError 0
#define SmDialogNormal 1
/*
* Save Type
*/
#define SmSaveGlobal 0
#define SmSaveLocal 1
#define SmSaveBoth 2
/*
* Restart Style Hints
*/
#define SmRestartIfRunning 0
#define SmRestartAnyway 1
#define SmRestartImmediately 2
#define SmRestartNever 3
/*
* Property names
*/
#define SmCloneCommand "CloneCommand"
#define SmCurrentDirectory "CurrentDirectory"
#define SmDiscardCommand "DiscardCommand"
#define SmEnvironment "Environment"
#define SmProcessID "ProcessID"
#define SmProgram "Program"
#define SmRestartCommand "RestartCommand"
#define SmResignCommand "ResignCommand"
#define SmRestartStyleHint "RestartStyleHint"
#define SmShutdownCommand "ShutdownCommand"
#define SmUserID "UserID"
/*
* Property types
*/
#define SmCARD8 "CARD8"
#define SmARRAY8 "ARRAY8"
#define SmLISTofARRAY8 "LISTofARRAY8"
/*
* SM minor opcodes
*/
#define SM_Error 0
#define SM_RegisterClient 1
#define SM_RegisterClientReply 2
#define SM_SaveYourself 3
#define SM_SaveYourselfRequest 4
#define SM_InteractRequest 5
#define SM_Interact 6
#define SM_InteractDone 7
#define SM_SaveYourselfDone 8
#define SM_Die 9
#define SM_ShutdownCancelled 10
#define SM_CloseConnection 11
#define SM_SetProperties 12
#define SM_DeleteProperties 13
#define SM_GetProperties 14
#define SM_PropertiesReply 15
#define SM_SaveYourselfPhase2Request 16
#define SM_SaveYourselfPhase2 17
#define SM_SaveComplete 18
#endif /* _SM_H_ */

View File

@@ -0,0 +1,543 @@
/*
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.
*/
/*
* Author: Ralph Mor, X Consortium
*/
#ifndef _SMLIB_H_
#define _SMLIB_H_
#include <X11/SM/SM.h>
#include <X11/ICE/ICElib.h>
/*
* Generic SM pointer
*/
typedef IcePointer SmPointer;
/*
* Connection objects. Defined in SMlibint.h
*/
typedef struct _SmcConn *SmcConn;
typedef struct _SmsConn *SmsConn;
/*
* Session Management property
*/
typedef struct {
int length; /* length (in bytes) of the value */
SmPointer value; /* the value */
} SmPropValue;
typedef struct {
char *name; /* name of property */
char *type; /* type of property */
int num_vals; /* number of values in property */
SmPropValue *vals; /* the values */
} SmProp;
/*
* SmcCloseConnection status return
*/
typedef enum {
SmcClosedNow,
SmcClosedASAP,
SmcConnectionInUse
} SmcCloseStatus;
/*
* Client callbacks
*/
typedef void (*SmcSaveYourselfProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */,
int /* saveType */,
Bool /* shutdown */,
int /* interactStyle */,
Bool /* fast */
);
typedef void (*SmcSaveYourselfPhase2Proc) (
SmcConn /* smcConn */,
SmPointer /* clientData */
);
typedef void (*SmcInteractProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */
);
typedef void (*SmcDieProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */
);
typedef void (*SmcShutdownCancelledProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */
);
typedef void (*SmcSaveCompleteProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */
);
typedef void (*SmcPropReplyProc) (
SmcConn /* smcConn */,
SmPointer /* clientData */,
int /* numProps */,
SmProp ** /* props */
);
/*
* Callbacks set up at SmcOpenConnection time
*/
typedef struct {
struct {
SmcSaveYourselfProc callback;
SmPointer client_data;
} save_yourself;
struct {
SmcDieProc callback;
SmPointer client_data;
} die;
struct {
SmcSaveCompleteProc callback;
SmPointer client_data;
} save_complete;
struct {
SmcShutdownCancelledProc callback;
SmPointer client_data;
} shutdown_cancelled;
} SmcCallbacks;
#define SmcSaveYourselfProcMask (1L << 0)
#define SmcDieProcMask (1L << 1)
#define SmcSaveCompleteProcMask (1L << 2)
#define SmcShutdownCancelledProcMask (1L << 3)
/*
* Session manager callbacks
*/
typedef Status (*SmsRegisterClientProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
char * /* previousId */
);
typedef void (*SmsInteractRequestProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
int /* dialogType */
);
typedef void (*SmsInteractDoneProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
Bool /* cancelShutdown */
);
typedef void (*SmsSaveYourselfRequestProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
int /* saveType */,
Bool /* shutdown */,
int /* interactStyle */,
Bool /* fast */,
Bool /* global */
);
typedef void (*SmsSaveYourselfPhase2RequestProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */
);
typedef void (*SmsSaveYourselfDoneProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
Bool /* success */
);
typedef void (*SmsCloseConnectionProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
int /* count */,
char ** /* reasonMsgs */
);
typedef void (*SmsSetPropertiesProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
int /* numProps */,
SmProp ** /* props */
);
typedef void (*SmsDeletePropertiesProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
int /* numProps */,
char ** /* propNames */
);
typedef void (*SmsGetPropertiesProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */
);
/*
* Callbacks set up by a session manager when a new client connects.
*/
typedef struct {
struct {
SmsRegisterClientProc callback;
SmPointer manager_data;
} register_client;
struct {
SmsInteractRequestProc callback;
SmPointer manager_data;
} interact_request;
struct {
SmsInteractDoneProc callback;
SmPointer manager_data;
} interact_done;
struct {
SmsSaveYourselfRequestProc callback;
SmPointer manager_data;
} save_yourself_request;
struct {
SmsSaveYourselfPhase2RequestProc callback;
SmPointer manager_data;
} save_yourself_phase2_request;
struct {
SmsSaveYourselfDoneProc callback;
SmPointer manager_data;
} save_yourself_done;
struct {
SmsCloseConnectionProc callback;
SmPointer manager_data;
} close_connection;
struct {
SmsSetPropertiesProc callback;
SmPointer manager_data;
} set_properties;
struct {
SmsDeletePropertiesProc callback;
SmPointer manager_data;
} delete_properties;
struct {
SmsGetPropertiesProc callback;
SmPointer manager_data;
} get_properties;
} SmsCallbacks;
#define SmsRegisterClientProcMask (1L << 0)
#define SmsInteractRequestProcMask (1L << 1)
#define SmsInteractDoneProcMask (1L << 2)
#define SmsSaveYourselfRequestProcMask (1L << 3)
#define SmsSaveYourselfP2RequestProcMask (1L << 4)
#define SmsSaveYourselfDoneProcMask (1L << 5)
#define SmsCloseConnectionProcMask (1L << 6)
#define SmsSetPropertiesProcMask (1L << 7)
#define SmsDeletePropertiesProcMask (1L << 8)
#define SmsGetPropertiesProcMask (1L << 9)
typedef Status (*SmsNewClientProc) (
SmsConn /* smsConn */,
SmPointer /* managerData */,
unsigned long * /* maskRet */,
SmsCallbacks * /* callbacksRet */,
char ** /* failureReasonRet */
);
/*
* Error handlers
*/
typedef void (*SmcErrorHandler) (
SmcConn /* smcConn */,
Bool /* swap */,
int /* offendingMinorOpcode */,
unsigned long /* offendingSequence */,
int /* errorClass */,
int /* severity */,
SmPointer /* values */
);
typedef void (*SmsErrorHandler) (
SmsConn /* smsConn */,
Bool /* swap */,
int /* offendingMinorOpcode */,
unsigned long /* offendingSequence */,
int /* errorClass */,
int /* severity */,
SmPointer /* values */
);
/*
* Function Prototypes
*/
_XFUNCPROTOBEGIN
extern SmcConn SmcOpenConnection (
char * /* networkIdsList */,
SmPointer /* context */,
int /* xsmpMajorRev */,
int /* xsmpMinorRev */,
unsigned long /* mask */,
SmcCallbacks * /* callbacks */,
char * /* previousId */,
char ** /* clientIdRet */,
int /* errorLength */,
char * /* errorStringRet */
);
extern SmcCloseStatus SmcCloseConnection (
SmcConn /* smcConn */,
int /* count */,
char ** /* reasonMsgs */
);
extern void SmcModifyCallbacks (
SmcConn /* smcConn */,
unsigned long /* mask */,
SmcCallbacks * /* callbacks */
);
extern void SmcSetProperties (
SmcConn /* smcConn */,
int /* numProps */,
SmProp ** /* props */
);
extern void SmcDeleteProperties (
SmcConn /* smcConn */,
int /* numProps */,
char ** /* propNames */
);
extern Status SmcGetProperties (
SmcConn /* smcConn */,
SmcPropReplyProc /* propReplyProc */,
SmPointer /* clientData */
);
extern Status SmcInteractRequest (
SmcConn /* smcConn */,
int /* dialogType */,
SmcInteractProc /* interactProc */,
SmPointer /* clientData */
);
extern void SmcInteractDone (
SmcConn /* smcConn */,
Bool /* cancelShutdown */
);
extern void SmcRequestSaveYourself (
SmcConn /* smcConn */,
int /* saveType */,
Bool /* shutdown */,
int /* interactStyle */,
Bool /* fast */,
Bool /* global */
);
extern Status SmcRequestSaveYourselfPhase2 (
SmcConn /* smcConn */,
SmcSaveYourselfPhase2Proc /* saveYourselfPhase2Proc */,
SmPointer /* clientData */
);
extern void SmcSaveYourselfDone (
SmcConn /* smcConn */,
Bool /* success */
);
extern int SmcProtocolVersion (
SmcConn /* smcConn */
);
extern int SmcProtocolRevision (
SmcConn /* smcConn */
);
extern char *SmcVendor (
SmcConn /* smcConn */
);
extern char *SmcRelease (
SmcConn /* smcConn */
);
extern char *SmcClientID (
SmcConn /* smcConn */
);
extern IceConn SmcGetIceConnection (
SmcConn /* smcConn */
);
extern Status SmsInitialize (
char * /* vendor */,
char * /* release */,
SmsNewClientProc /* newClientProc */,
SmPointer /* managerData */,
IceHostBasedAuthProc /* hostBasedAuthProc */,
int /* errorLength */,
char * /* errorStringRet */
);
extern char *SmsClientHostName (
SmsConn /* smsConn */
);
extern char *SmsGenerateClientID (
SmsConn /* smsConn */
);
extern Status SmsRegisterClientReply (
SmsConn /* smsConn */,
char * /* clientId */
);
extern void SmsSaveYourself (
SmsConn /* smsConn */,
int /* saveType */,
Bool /* shutdown */,
int /* interactStyle */,
Bool /* fast */
);
extern void SmsSaveYourselfPhase2 (
SmsConn /* smsConn */
);
extern void SmsInteract (
SmsConn /* smsConn */
);
extern void SmsDie (
SmsConn /* smsConn */
);
extern void SmsSaveComplete (
SmsConn /* smsConn */
);
extern void SmsShutdownCancelled (
SmsConn /* smsConn */
);
extern void SmsReturnProperties (
SmsConn /* smsConn */,
int /* numProps */,
SmProp ** /* props */
);
extern void SmsCleanUp (
SmsConn /* smsConn */
);
extern int SmsProtocolVersion (
SmsConn /* smsConn */
);
extern int SmsProtocolRevision (
SmsConn /* smsConn */
);
extern char *SmsClientID (
SmsConn /* smsConn */
);
extern IceConn SmsGetIceConnection (
SmsConn /* smsConn */
);
extern SmcErrorHandler SmcSetErrorHandler (
SmcErrorHandler /* handler */
);
extern SmsErrorHandler SmsSetErrorHandler (
SmsErrorHandler /* handler */
);
extern void SmFreeProperty (
SmProp * /* prop */
);
extern void SmFreeReasons (
int /* count */,
char ** /* reasonMsgs */
);
_XFUNCPROTOEND
#endif /* _SMLIB_H_ */

View File

@@ -0,0 +1,206 @@
/*
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.
*/
/*
* Author: Ralph Mor, X Consortium
*/
#ifndef _SMPROTO_H_
#define _SMPROTO_H_
#include <X11/Xmd.h>
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* n ARRAY8 previousId */
} smRegisterClientMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* n ARRAY8 clientId */
} smRegisterClientReplyMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused1[2];
CARD32 length B32;
CARD8 saveType;
CARD8 shutdown;
CARD8 interactStyle;
CARD8 fast;
CARD8 unused2[4];
} smSaveYourselfMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused1[2];
CARD32 length B32;
CARD8 saveType;
CARD8 shutdown;
CARD8 interactStyle;
CARD8 fast;
CARD8 global;
CARD8 unused2[3];
} smSaveYourselfRequestMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 dialogType;
CARD8 unused;
CARD32 length B32;
} smInteractRequestMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smInteractMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 cancelShutdown;
CARD8 unused;
CARD32 length B32;
} smInteractDoneMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 success;
CARD8 unused;
CARD32 length B32;
} smSaveYourselfDoneMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smDieMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smShutdownCancelledMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* b LISTofARRAY8 reasons */
} smCloseConnectionMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* a LISTofPROPERTY properties */
} smSetPropertiesMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* a LISTofARRAY8 property names */
} smDeletePropertiesMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smGetPropertiesMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
/* a LISTofPROPERTY properties */
} smPropertiesReplyMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smSaveYourselfPhase2RequestMsg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smSaveYourselfPhase2Msg;
typedef struct {
CARD8 majorOpcode;
CARD8 minorOpcode;
CARD8 unused[2];
CARD32 length B32;
} smSaveCompleteMsg;
/*
* SIZEOF values. These better be multiples of 8.
*/
#define sz_smRegisterClientMsg 8
#define sz_smRegisterClientReplyMsg 8
#define sz_smSaveYourselfMsg 16
#define sz_smSaveYourselfRequestMsg 16
#define sz_smInteractRequestMsg 8
#define sz_smInteractMsg 8
#define sz_smInteractDoneMsg 8
#define sz_smSaveYourselfDoneMsg 8
#define sz_smDieMsg 8
#define sz_smShutdownCancelledMsg 8
#define sz_smCloseConnectionMsg 8
#define sz_smSetPropertiesMsg 8
#define sz_smDeletePropertiesMsg 8
#define sz_smGetPropertiesMsg 8
#define sz_smPropertiesReplyMsg 8
#define sz_smSaveYourselfPhase2RequestMsg 8
#define sz_smSaveYourselfPhase2Msg 8
#define sz_smSaveCompleteMsg 8
#endif /* _SMPROTO_H_ */

View File

@@ -0,0 +1,168 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,562 @@
/***********************************************************
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 _XtShell_h
#define _XtShell_h
#include <X11/SM/SMlib.h>
#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 */
#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 */

View File

@@ -0,0 +1,10 @@
#ifndef _XtShellInternal_h
#define _XtShellInternal_h
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
extern void _XtShellGetCoordinates(Widget widget, Position *x, Position *y);
#endif /* _XtShellInternal_h */

View File

@@ -0,0 +1,434 @@
/***********************************************************
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 {
SmcConn connection;
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 */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,106 @@
/*
* Copyright (c) 1991, Oracle and/or its affiliates. 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 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.
***********************************************************/
/*
* Floating Accent
*/
#define SunXK_FA_Grave 0x1005FF00
#define SunXK_FA_Circum 0x1005FF01
#define SunXK_FA_Tilde 0x1005FF02
#define SunXK_FA_Acute 0x1005FF03
#define SunXK_FA_Diaeresis 0x1005FF04
#define SunXK_FA_Cedilla 0x1005FF05
/*
* Miscellaneous Functions
*/
#define SunXK_F36 0x1005FF10 /* Labeled F11 */
#define SunXK_F37 0x1005FF11 /* Labeled F12 */
#define SunXK_Sys_Req 0x1005FF60
#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
/*
* International & Multi-Key Character Composition
*/
#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
/*
* Cursor Control
*/
#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
/*
* Open Look Functions
*/
#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
#define SunXK_Props 0x1005FF70
#define SunXK_Front 0x1005FF71
#define SunXK_Copy 0x1005FF72
#define SunXK_Open 0x1005FF73
#define SunXK_Paste 0x1005FF74
#define SunXK_Cut 0x1005FF75
#define SunXK_PowerSwitch 0x1005FF76
#define SunXK_AudioLowerVolume 0x1005FF77
#define SunXK_AudioMute 0x1005FF78
#define SunXK_AudioRaiseVolume 0x1005FF79
#define SunXK_VideoDegauss 0x1005FF7A
#define SunXK_VideoLowerBrightness 0x1005FF7B
#define SunXK_VideoRaiseBrightness 0x1005FF7C
#define SunXK_PowerSwitchShift 0x1005FF7D

View File

@@ -0,0 +1,129 @@
/************************************************************
Copyright (c) 1993, Oracle and/or its affiliates. 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 */

View File

@@ -0,0 +1,606 @@
/***********************************************************
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.
******************************************************************/
/*
* 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

View File

@@ -0,0 +1,66 @@
/*
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.
*/
#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_ */

View File

@@ -0,0 +1,70 @@
/***********************************************************
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 */

View File

@@ -0,0 +1,102 @@
/***********************************************************
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 */

717
dev-lang/openjdk/X11/X.h Normal file
View File

@@ -0,0 +1,717 @@
/* Definitions for the X window system likely to be used by applications */
#ifndef X_H
#define X_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.
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.
******************************************************************/
#define X_PROTOCOL 11 /* current protocol version */
#define X_PROTOCOL_REVISION 0 /* current minor version */
/* Resources */
/*
* _XSERVER64 must ONLY be defined when compiling X server sources on
* systems where unsigned long is not 32 bits, must NOT be used in
* client or library code.
*/
#ifndef _XSERVER64
# ifndef _XTYPEDEF_XID
# define _XTYPEDEF_XID
typedef unsigned long XID;
# endif
# ifndef _XTYPEDEF_MASK
# define _XTYPEDEF_MASK
typedef unsigned long Mask;
# endif
# ifndef _XTYPEDEF_ATOM
# define _XTYPEDEF_ATOM
typedef unsigned long Atom; /* Also in Xdefs.h */
# endif
typedef unsigned long VisualID;
typedef unsigned long Time;
#else
# include <X11/Xmd.h>
# ifndef _XTYPEDEF_XID
# define _XTYPEDEF_XID
typedef CARD32 XID;
# endif
# ifndef _XTYPEDEF_MASK
# define _XTYPEDEF_MASK
typedef CARD32 Mask;
# endif
# ifndef _XTYPEDEF_ATOM
# define _XTYPEDEF_ATOM
typedef CARD32 Atom;
# endif
typedef CARD32 VisualID;
typedef CARD32 Time;
#endif
typedef XID Window;
typedef XID Drawable;
#ifndef _XTYPEDEF_FONT
# define _XTYPEDEF_FONT
typedef XID Font;
#endif
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned char KeyCode;
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
#ifndef None
#define None 0L /* universal null resource or null atom */
#endif
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
#define CopyFromParent 0L /* border pixmap in CreateWindow
and ChangeWindowAttributes
special VisualID and special window
class passed to CreateWindow */
#define PointerWindow 0L /* destination window in SendEvent */
#define InputFocus 1L /* destination window in SendEvent */
#define PointerRoot 1L /* focus window in SetInputFocus */
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
#define AnyKey 0L /* special Key Code, passed to GrabKey */
#define AnyButton 0L /* special Button Code, passed to GrabButton */
#define AllTemporary 0L /* special Resource ID passed to KillClient */
#define CurrentTime 0L /* special Time */
#define NoSymbol 0L /* special KeySym */
/*****************************************************************
* EVENT DEFINITIONS
*****************************************************************/
/* Input Event Masks. Used as event-mask window attribute and as arguments
to Grab requests. Not to be confused with event names. */
#define NoEventMask 0L
#define KeyPressMask (1L<<0)
#define KeyReleaseMask (1L<<1)
#define ButtonPressMask (1L<<2)
#define ButtonReleaseMask (1L<<3)
#define EnterWindowMask (1L<<4)
#define LeaveWindowMask (1L<<5)
#define PointerMotionMask (1L<<6)
#define PointerMotionHintMask (1L<<7)
#define Button1MotionMask (1L<<8)
#define Button2MotionMask (1L<<9)
#define Button3MotionMask (1L<<10)
#define Button4MotionMask (1L<<11)
#define Button5MotionMask (1L<<12)
#define ButtonMotionMask (1L<<13)
#define KeymapStateMask (1L<<14)
#define ExposureMask (1L<<15)
#define VisibilityChangeMask (1L<<16)
#define StructureNotifyMask (1L<<17)
#define ResizeRedirectMask (1L<<18)
#define SubstructureNotifyMask (1L<<19)
#define SubstructureRedirectMask (1L<<20)
#define FocusChangeMask (1L<<21)
#define PropertyChangeMask (1L<<22)
#define ColormapChangeMask (1L<<23)
#define OwnerGrabButtonMask (1L<<24)
/* Event names. Used in "type" field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies. */
#define KeyPress 2
#define KeyRelease 3
#define ButtonPress 4
#define ButtonRelease 5
#define MotionNotify 6
#define EnterNotify 7
#define LeaveNotify 8
#define FocusIn 9
#define FocusOut 10
#define KeymapNotify 11
#define Expose 12
#define GraphicsExpose 13
#define NoExpose 14
#define VisibilityNotify 15
#define CreateNotify 16
#define DestroyNotify 17
#define UnmapNotify 18
#define MapNotify 19
#define MapRequest 20
#define ReparentNotify 21
#define ConfigureNotify 22
#define ConfigureRequest 23
#define GravityNotify 24
#define ResizeRequest 25
#define CirculateNotify 26
#define CirculateRequest 27
#define PropertyNotify 28
#define SelectionClear 29
#define SelectionRequest 30
#define SelectionNotify 31
#define ColormapNotify 32
#define ClientMessage 33
#define MappingNotify 34
#define GenericEvent 35
#define LASTEvent 36 /* must be bigger than any event # */
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
/* modifier names. Used to build a SetModifierMapping request or
to read a GetModifierMapping request. These correspond to the
masks defined above. */
#define ShiftMapIndex 0
#define LockMapIndex 1
#define ControlMapIndex 2
#define Mod1MapIndex 3
#define Mod2MapIndex 4
#define Mod3MapIndex 5
#define Mod4MapIndex 6
#define Mod5MapIndex 7
/* button masks. Used in same manner as Key masks above. Not to be confused
with button names below. */
#define Button1Mask (1<<8)
#define Button2Mask (1<<9)
#define Button3Mask (1<<10)
#define Button4Mask (1<<11)
#define Button5Mask (1<<12)
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
and ButtonRelease events. Not to be confused with button masks above.
Note that 0 is already defined above as "AnyButton". */
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 4
#define Button5 5
/* Notify modes */
#define NotifyNormal 0
#define NotifyGrab 1
#define NotifyUngrab 2
#define NotifyWhileGrabbed 3
#define NotifyHint 1 /* for MotionNotify events */
/* Notify detail */
#define NotifyAncestor 0
#define NotifyVirtual 1
#define NotifyInferior 2
#define NotifyNonlinear 3
#define NotifyNonlinearVirtual 4
#define NotifyPointer 5
#define NotifyPointerRoot 6
#define NotifyDetailNone 7
/* Visibility notify */
#define VisibilityUnobscured 0
#define VisibilityPartiallyObscured 1
#define VisibilityFullyObscured 2
/* Circulation request */
#define PlaceOnTop 0
#define PlaceOnBottom 1
/* protocol families */
#define FamilyInternet 0 /* IPv4 */
#define FamilyDECnet 1
#define FamilyChaos 2
#define FamilyInternet6 6 /* IPv6 */
/* authentication families not tied to a specific protocol */
#define FamilyServerInterpreted 5
/* Property notification */
#define PropertyNewValue 0
#define PropertyDelete 1
/* Color Map notification */
#define ColormapUninstalled 0
#define ColormapInstalled 1
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
#define GrabModeSync 0
#define GrabModeAsync 1
/* GrabPointer, GrabKeyboard reply status */
#define GrabSuccess 0
#define AlreadyGrabbed 1
#define GrabInvalidTime 2
#define GrabNotViewable 3
#define GrabFrozen 4
/* AllowEvents modes */
#define AsyncPointer 0
#define SyncPointer 1
#define ReplayPointer 2
#define AsyncKeyboard 3
#define SyncKeyboard 4
#define ReplayKeyboard 5
#define AsyncBoth 6
#define SyncBoth 7
/* Used in SetInputFocus, GetInputFocus */
#define RevertToNone (int)None
#define RevertToPointerRoot (int)PointerRoot
#define RevertToParent 2
/*****************************************************************
* ERROR CODES
*****************************************************************/
#define Success 0 /* everything's okay */
#define BadRequest 1 /* bad request code */
#define BadValue 2 /* int parameter out of range */
#define BadWindow 3 /* parameter not a Window */
#define BadPixmap 4 /* parameter not a Pixmap */
#define BadAtom 5 /* parameter not an Atom */
#define BadCursor 6 /* parameter not a Cursor */
#define BadFont 7 /* parameter not a Font */
#define BadMatch 8 /* parameter mismatch */
#define BadDrawable 9 /* parameter not a Pixmap or Window */
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal
cmap entry
- attempt to store into a read-only
color map entry.
- attempt to modify the access control
list from other than the local host.
*/
#define BadAlloc 11 /* insufficient resources */
#define BadColor 12 /* no such colormap */
#define BadGC 13 /* parameter not a GC */
#define BadIDChoice 14 /* choice not in range or already used */
#define BadName 15 /* font or color name doesn't exist */
#define BadLength 16 /* Request length incorrect */
#define BadImplementation 17 /* server is defective */
#define FirstExtensionError 128
#define LastExtensionError 255
/*****************************************************************
* WINDOW DEFINITIONS
*****************************************************************/
/* Window classes used by CreateWindow */
/* Note that CopyFromParent is already defined as 0 above */
#define InputOutput 1
#define InputOnly 2
/* Window attributes for CreateWindow and ChangeWindowAttributes */
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)
/* ConfigureWindow structure */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
/* Window gravity + bit gravity above */
#define UnmapGravity 0
/* Used in CreateWindow for backing-store hint */
#define NotUseful 0
#define WhenMapped 1
#define Always 2
/* Used in GetWindowAttributes reply */
#define IsUnmapped 0
#define IsUnviewable 1
#define IsViewable 2
/* Used in ChangeSaveSet */
#define SetModeInsert 0
#define SetModeDelete 1
/* Used in ChangeCloseDownMode */
#define DestroyAll 0
#define RetainPermanent 1
#define RetainTemporary 2
/* Window stacking method (in configureWindow) */
#define Above 0
#define Below 1
#define TopIf 2
#define BottomIf 3
#define Opposite 4
/* Circulation direction */
#define RaiseLowest 0
#define LowerHighest 1
/* Property modes */
#define PropModeReplace 0
#define PropModePrepend 1
#define PropModeAppend 2
/*****************************************************************
* GRAPHICS DEFINITIONS
*****************************************************************/
/* graphics functions, as in GC.alu */
#define GXclear 0x0 /* 0 */
#define GXand 0x1 /* src AND dst */
#define GXandReverse 0x2 /* src AND NOT dst */
#define GXcopy 0x3 /* src */
#define GXandInverted 0x4 /* NOT src AND dst */
#define GXnoop 0x5 /* dst */
#define GXxor 0x6 /* src XOR dst */
#define GXor 0x7 /* src OR dst */
#define GXnor 0x8 /* NOT src AND NOT dst */
#define GXequiv 0x9 /* NOT src XOR dst */
#define GXinvert 0xa /* NOT dst */
#define GXorReverse 0xb /* src OR NOT dst */
#define GXcopyInverted 0xc /* NOT src */
#define GXorInverted 0xd /* NOT src OR dst */
#define GXnand 0xe /* NOT src OR NOT dst */
#define GXset 0xf /* 1 */
/* LineStyle */
#define LineSolid 0
#define LineOnOffDash 1
#define LineDoubleDash 2
/* capStyle */
#define CapNotLast 0
#define CapButt 1
#define CapRound 2
#define CapProjecting 3
/* joinStyle */
#define JoinMiter 0
#define JoinRound 1
#define JoinBevel 2
/* fillStyle */
#define FillSolid 0
#define FillTiled 1
#define FillStippled 2
#define FillOpaqueStippled 3
/* fillRule */
#define EvenOddRule 0
#define WindingRule 1
/* subwindow mode */
#define ClipByChildren 0
#define IncludeInferiors 1
/* SetClipRectangles ordering */
#define Unsorted 0
#define YSorted 1
#define YXSorted 2
#define YXBanded 3
/* CoordinateMode for drawing routines */
#define CoordModeOrigin 0 /* relative to the origin */
#define CoordModePrevious 1 /* relative to previous point */
/* Polygon shapes */
#define Complex 0 /* paths may intersect */
#define Nonconvex 1 /* no paths intersect, but not convex */
#define Convex 2 /* wholly convex */
/* Arc modes for PolyFillArc */
#define ArcChord 0 /* join endpoints of arc */
#define ArcPieSlice 1 /* join endpoints to center of arc */
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
GC.stateChanges */
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
#define GCLastBit 22
/*****************************************************************
* FONTS
*****************************************************************/
/* used in QueryFont -- draw direction */
#define FontLeftToRight 0
#define FontRightToLeft 1
#define FontChange 255
/*****************************************************************
* IMAGING
*****************************************************************/
/* ImageFormat -- PutImage, GetImage */
#define XYBitmap 0 /* depth 1, XYFormat */
#define XYPixmap 1 /* depth == drawable depth */
#define ZPixmap 2 /* depth == drawable depth */
/*****************************************************************
* COLOR MAP STUFF
*****************************************************************/
/* For CreateColormap */
#define AllocNone 0 /* create map with no entries */
#define AllocAll 1 /* allocate entire map writeable */
/* Flags used in StoreNamedColor, StoreColors */
#define DoRed (1<<0)
#define DoGreen (1<<1)
#define DoBlue (1<<2)
/*****************************************************************
* CURSOR STUFF
*****************************************************************/
/* QueryBestSize Class */
#define CursorShape 0 /* largest size that can be displayed */
#define TileShape 1 /* size tiled fastest */
#define StippleShape 2 /* size stippled fastest */
/*****************************************************************
* KEYBOARD/POINTER STUFF
*****************************************************************/
#define AutoRepeatModeOff 0
#define AutoRepeatModeOn 1
#define AutoRepeatModeDefault 2
#define LedModeOff 0
#define LedModeOn 1
/* masks for ChangeKeyboardControl */
#define KBKeyClickPercent (1L<<0)
#define KBBellPercent (1L<<1)
#define KBBellPitch (1L<<2)
#define KBBellDuration (1L<<3)
#define KBLed (1L<<4)
#define KBLedMode (1L<<5)
#define KBKey (1L<<6)
#define KBAutoRepeatMode (1L<<7)
#define MappingSuccess 0
#define MappingBusy 1
#define MappingFailed 2
#define MappingModifier 0
#define MappingKeyboard 1
#define MappingPointer 2
/*****************************************************************
* SCREEN SAVER STUFF
*****************************************************************/
#define DontPreferBlanking 0
#define PreferBlanking 1
#define DefaultBlanking 2
#define DisableScreenSaver 0
#define DisableScreenInterval 0
#define DontAllowExposures 0
#define AllowExposures 1
#define DefaultExposures 2
/* for ForceScreenSaver */
#define ScreenSaverReset 0
#define ScreenSaverActive 1
/*****************************************************************
* HOSTS AND CONNECTIONS
*****************************************************************/
/* for ChangeHosts */
#define HostInsert 0
#define HostDelete 1
/* for ChangeAccessControl */
#define EnableAccess 1
#define DisableAccess 0
/* Display classes used in opening the connection
* Note that the statically allocated ones are even numbered and the
* dynamically changeable ones are odd numbered */
#define StaticGray 0
#define GrayScale 1
#define StaticColor 2
#define PseudoColor 3
#define TrueColor 4
#define DirectColor 5
/* Byte order used in imageByteOrder and bitmapBitOrder */
#define LSBFirst 0
#define MSBFirst 1
#endif /* X_H */

View File

@@ -0,0 +1,233 @@
/*
* XFree86 vendor specific keysyms.
*
* The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
*
* When adding new entries, the xc/lib/XKeysymDB file should also be
* updated to make the new entries visible to Xlib.
*/
/*
* ModeLock
*
* This one is old, and not really used any more since XKB offers this
* functionality.
*/
#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
/*
* Note, 0x1008FF07 - 0x1008FF0F are free and should be used for misc new
* keysyms that don't fit into any of the groups below.
*
* 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used,
* and should be used first for new keysyms.
*
* Check in keysymdef.h for generic symbols before adding new XFree86-specific
* symbols here.
*
* X.Org will not be adding to the XF86 set of keysyms, though they have
* been adopted and are considered a "standard" part of X keysym definitions.
* XFree86 never properly commented these keysyms, so we have done our
* best to explain the semantic meaning of these keys.
*
* XFree86 has removed their mail archives of the period, that might have
* shed more light on some of these definitions. Until/unless we resurrect
* these archives, these are from memory and usage.
*/
/* Backlight controls. */
#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
/*
* Keys found on some "Internet" keyboards.
*/
#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
#define XF86XK_AudioNext 0x1008FF17 /* Next track */
#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
#define XF86XK_Start 0x1008FF1A /* Start application */
#define XF86XK_Search 0x1008FF1B /* Search */
#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
#define XF86XK_RockerDown 0x1008FF24 /* and down */
#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
/* Some more "Internet" keyboard symbols */
#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
#define XF86XK_Finance 0x1008FF3C /* Display financial site */
#define XF86XK_Community 0x1008FF3D /* Display user's community */
#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
#define XF86XK_BackForward 0x1008FF3F /* ??? */
#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
#define XF86XK_Close 0x1008FF56 /* Close window */
#define XF86XK_Copy 0x1008FF57 /* Copy selection */
#define XF86XK_Cut 0x1008FF58 /* Cut selection */
#define XF86XK_Display 0x1008FF59 /* Output switch key */
#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
#define XF86XK_Documents 0x1008FF5B /* Open documents window */
#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
#define XF86XK_Game 0x1008FF5E /* Launch game */
#define XF86XK_Go 0x1008FF5F /* Go to URL */
#define XF86XK_iTouch 0x1008FF60 /* Logitch iTouch- don't use */
#define XF86XK_LogOff 0x1008FF61 /* Log off system */
#define XF86XK_Market 0x1008FF62 /* ?? */
#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
#define XF86XK_MenuKB 0x1008FF65 /* distingush keyboard from PB */
#define XF86XK_MenuPB 0x1008FF66 /* distinuish PB from keyboard */
#define XF86XK_MySites 0x1008FF67 /* Favourites */
#define XF86XK_New 0x1008FF68 /* New (folder, document... */
#define XF86XK_News 0x1008FF69 /* News */
#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
#define XF86XK_Open 0x1008FF6B /* Open */
#define XF86XK_Option 0x1008FF6C /* ?? */
#define XF86XK_Paste 0x1008FF6D /* Paste */
#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
#define XF86XK_RotationPB 0x1008FF75 /* don't use */
#define XF86XK_RotationKB 0x1008FF76 /* don't use */
#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
#define XF86XK_Spell 0x1008FF7C /* Spell checker */
#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
#define XF86XK_Support 0x1008FF7E /* Get support (??) */
#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
#define XF86XK_Travel 0x1008FF82 /* ?? */
#define XF86XK_UserPB 0x1008FF84 /* ?? */
#define XF86XK_User1KB 0x1008FF85 /* ?? */
#define XF86XK_User2KB 0x1008FF86 /* ?? */
#define XF86XK_Video 0x1008FF87 /* Launch video player */
#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
#define XF86XK_Word 0x1008FF89 /* Launch word processor */
#define XF86XK_Xfer 0x1008FF8A
#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
#define XF86XK_Music 0x1008FF92 /* Launch music application */
#define XF86XK_Battery 0x1008FF93 /* Display battery information */
#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
#define XF86XK_Red 0x1008FFA3 /* Red button */
#define XF86XK_Green 0x1008FFA4 /* Green button */
#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
#define XF86XK_Blue 0x1008FFA6 /* Blue button */
#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */
#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */
/* Keys for special action keys (hot keys) */
/* Virtual terminals on some operating systems */
#define XF86XK_Switch_VT_1 0x1008FE01
#define XF86XK_Switch_VT_2 0x1008FE02
#define XF86XK_Switch_VT_3 0x1008FE03
#define XF86XK_Switch_VT_4 0x1008FE04
#define XF86XK_Switch_VT_5 0x1008FE05
#define XF86XK_Switch_VT_6 0x1008FE06
#define XF86XK_Switch_VT_7 0x1008FE07
#define XF86XK_Switch_VT_8 0x1008FE08
#define XF86XK_Switch_VT_9 0x1008FE09
#define XF86XK_Switch_VT_10 0x1008FE0A
#define XF86XK_Switch_VT_11 0x1008FE0B
#define XF86XK_Switch_VT_12 0x1008FE0C
#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */
#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,113 @@
/*
Copyright 1985, 1986, 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.
*/
/*
* XWDFile.h MIT Project Athena, X Window system window raster
* image dumper, dump file format header file.
*
* Author: Tony Della Fera, DEC
* 27-Jun-85
*
* Modifier: William F. Wyatt, SAO
* 18-Nov-86 - version 6 for saving/restoring color maps
*/
#ifndef XWDFILE_H
#define XWDFILE_H
#include <X11/Xmd.h>
#define XWD_FILE_VERSION 7
#define sz_XWDheader 100
#define sz_XWDColor 12
typedef CARD32 xwdval; /* for old broken programs */
/* Values in the file are most significant byte first. */
typedef struct _xwd_file_header {
/* header_size = SIZEOF(XWDheader) + length of null-terminated
* window name. */
CARD32 header_size B32;
CARD32 file_version B32; /* = XWD_FILE_VERSION above */
CARD32 pixmap_format B32; /* ZPixmap or XYPixmap */
CARD32 pixmap_depth B32; /* Pixmap depth */
CARD32 pixmap_width B32; /* Pixmap width */
CARD32 pixmap_height B32; /* Pixmap height */
CARD32 xoffset B32; /* Bitmap x offset, normally 0 */
CARD32 byte_order B32; /* of image data: MSBFirst, LSBFirst */
/* bitmap_unit applies to bitmaps (depth 1 format XY) only.
* It is the number of bits that each scanline is padded to. */
CARD32 bitmap_unit B32;
CARD32 bitmap_bit_order B32; /* bitmaps only: MSBFirst, LSBFirst */
/* bitmap_pad applies to pixmaps (non-bitmaps) only.
* It is the number of bits that each scanline is padded to. */
CARD32 bitmap_pad B32;
CARD32 bits_per_pixel B32; /* Bits per pixel */
/* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
* or bitmap_pad (pixmaps). It is the delta (in bytes) to get
* to the same x position on an adjacent row. */
CARD32 bytes_per_line B32;
CARD32 visual_class B32; /* Class of colormap */
CARD32 red_mask B32; /* Z red mask */
CARD32 green_mask B32; /* Z green mask */
CARD32 blue_mask B32; /* Z blue mask */
CARD32 bits_per_rgb B32; /* Log2 of distinct color values */
CARD32 colormap_entries B32; /* Number of entries in colormap; not used? */
CARD32 ncolors B32; /* Number of XWDColor structures */
CARD32 window_width B32; /* Window width */
CARD32 window_height B32; /* Window height */
CARD32 window_x B32; /* Window upper left X coordinate */
CARD32 window_y B32; /* Window upper left Y coordinate */
CARD32 window_bdrwidth B32; /* Window border width */
} XWDFileHeader;
/* Null-terminated window name follows the above structure. */
/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
* the file. XWDFileHeader.ncolors tells how many XWDColor structures
* there are.
*/
typedef struct {
CARD32 pixel B32;
CARD16 red B16;
CARD16 green B16;
CARD16 blue B16;
CARD8 flags;
CARD8 pad;
} XWDColor;
/* Last comes the image data in the format described by XWDFileHeader. */
#endif /* XWDFILE_H */

View File

@@ -0,0 +1,121 @@
/*
Copyright 1995, 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 purpose of this header is to define the macros ALLOCATE_LOCAL and
* DEALLOCATE_LOCAL appropriately for the platform being compiled on.
* These macros are used to make fast, function-local memory allocations.
* Their characteristics are as follows:
*
* void *ALLOCATE_LOCAL(int size)
* Returns a pointer to size bytes of memory, or NULL if the allocation
* failed. The memory must be freed with DEALLOCATE_LOCAL before the
* function that made the allocation returns. You should not ask for
* large blocks of memory with this function, since on many platforms
* the memory comes from the stack, which may have limited size.
*
* void DEALLOCATE_LOCAL(void *)
* Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
* step may be harmless on some platforms, but will result in
* memory leaks or worse on others.
*
* Before including this file, you should define two macros,
* ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
* same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
* header uses the fallbacks if it doesn't know a "better" way to define
* ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
*
* #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
* #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
* #include "Xalloca.h"
*/
#ifndef XALLOCA_H
#define XALLOCA_H 1
#ifndef INCLUDE_ALLOCA_H
/* Need to add more here to match Imake *.cf's */
# if defined(HAVE_ALLOCA_H) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define INCLUDE_ALLOCA_H
# endif
#endif
#ifdef INCLUDE_ALLOCA_H
# include <alloca.h>
#endif
#ifndef NO_ALLOCA
/*
* os-dependent definition of local allocation and deallocation
* If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
* for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
*/
# ifdef __GNUC__
# ifndef alloca
# define alloca __builtin_alloca
# endif /* !alloca */
# define ALLOCATE_LOCAL(size) alloca((int)(size))
# else /* ! __GNUC__ */
/*
* warning: old mips alloca (pre 2.10) is unusable, new one is built in
* Test is easy, the new one is named __builtin_alloca and comes
* from alloca.h which #defines alloca.
*/
# if defined(__sun) || defined(alloca)
/*
* Some System V boxes extract alloca.o from /lib/libPW.a; if you
* decide that you don't want to use alloca, you might want to fix it here.
*/
/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
# if !defined(__cplusplus)
# define __Xnullarg /* as nothing */
extern void *alloca(__Xnullarg);
# endif
# define ALLOCATE_LOCAL(size) alloca((int)(size))
# endif /* who does alloca */
# endif /* __GNUC__ */
#endif /* NO_ALLOCA */
#if !defined(ALLOCATE_LOCAL)
# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
# else /* no fallbacks supplied; error */
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
#else
# if !defined(DEALLOCATE_LOCAL)
# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
# endif
#endif /* defined(ALLOCATE_LOCAL) */
#endif /* XALLOCA_H */

View File

@@ -0,0 +1,94 @@
#ifndef _XARCH_H_
# define _XARCH_H_
/*
* Copyright 1997 Metro Link Incorporated
*
* All Rights Reserved
*
* 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 names of the above listed copyright holder(s)
* not be used in advertising or publicity pertaining to distribution of
* the software without specific, written prior permission. The above listed
* copyright holder(s) make(s) no representations about the suitability of
* this software for any purpose. It is provided "as is" without express or
* implied warranty.
*
* THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) 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.
*/
/*
* Determine the machine's byte order.
*/
/* See if it is set in the imake config first */
# ifdef X_BYTE_ORDER
# define X_BIG_ENDIAN 4321
# define X_LITTLE_ENDIAN 1234
# else
# if defined(SVR4) || defined(__SVR4)
# include <sys/types.h>
# include <sys/byteorder.h>
# elif defined(CSRG_BASED)
# if defined(__NetBSD__) || defined(__OpenBSD__)
# include <sys/types.h>
# endif
# include <machine/endian.h>
# elif defined(linux)
# if defined __STRICT_ANSI__
# undef __STRICT_ANSI__
# include <endian.h>
# define __STRICT_ANSI__
# else
# include <endian.h>
# endif
/* 'endian.h' might have been included before 'Xarch.h' */
# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
# define LITTLE_ENDIAN __LITTLE_ENDIAN
# endif
# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
# define BIG_ENDIAN __BIG_ENDIAN
# endif
# if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
# define PDP_ENDIAN __PDP_ENDIAN
# endif
# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
# define BYTE_ORDER __BYTE_ORDER
# endif
# endif
# ifndef BYTE_ORDER
# define LITTLE_ENDIAN 1234
# define BIG_ENDIAN 4321
# if defined(__sun) && defined(__SVR4)
# include <sys/isa_defs.h>
# ifdef _LITTLE_ENDIAN
# define BYTE_ORDER LITTLE_ENDIAN
# endif
# ifdef _BIG_ENDIAN
# define BYTE_ORDER BIG_ENDIAN
# endif
# endif /* sun */
# endif /* BYTE_ORDER */
# define X_BYTE_ORDER BYTE_ORDER
# define X_BIG_ENDIAN BIG_ENDIAN
# define X_LITTLE_ENDIAN LITTLE_ENDIAN
# endif /* not in imake config */
#endif /* _XARCH_H_ */

View File

@@ -0,0 +1,79 @@
#ifndef XATOM_H
#define XATOM_H 1
/* THIS IS A GENERATED FILE
*
* Do not change! Changing this file implies a protocol change!
*/
#define XA_PRIMARY ((Atom) 1)
#define XA_SECONDARY ((Atom) 2)
#define XA_ARC ((Atom) 3)
#define XA_ATOM ((Atom) 4)
#define XA_BITMAP ((Atom) 5)
#define XA_CARDINAL ((Atom) 6)
#define XA_COLORMAP ((Atom) 7)
#define XA_CURSOR ((Atom) 8)
#define XA_CUT_BUFFER0 ((Atom) 9)
#define XA_CUT_BUFFER1 ((Atom) 10)
#define XA_CUT_BUFFER2 ((Atom) 11)
#define XA_CUT_BUFFER3 ((Atom) 12)
#define XA_CUT_BUFFER4 ((Atom) 13)
#define XA_CUT_BUFFER5 ((Atom) 14)
#define XA_CUT_BUFFER6 ((Atom) 15)
#define XA_CUT_BUFFER7 ((Atom) 16)
#define XA_DRAWABLE ((Atom) 17)
#define XA_FONT ((Atom) 18)
#define XA_INTEGER ((Atom) 19)
#define XA_PIXMAP ((Atom) 20)
#define XA_POINT ((Atom) 21)
#define XA_RECTANGLE ((Atom) 22)
#define XA_RESOURCE_MANAGER ((Atom) 23)
#define XA_RGB_COLOR_MAP ((Atom) 24)
#define XA_RGB_BEST_MAP ((Atom) 25)
#define XA_RGB_BLUE_MAP ((Atom) 26)
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
#define XA_RGB_GRAY_MAP ((Atom) 28)
#define XA_RGB_GREEN_MAP ((Atom) 29)
#define XA_RGB_RED_MAP ((Atom) 30)
#define XA_STRING ((Atom) 31)
#define XA_VISUALID ((Atom) 32)
#define XA_WINDOW ((Atom) 33)
#define XA_WM_COMMAND ((Atom) 34)
#define XA_WM_HINTS ((Atom) 35)
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
#define XA_WM_ICON_NAME ((Atom) 37)
#define XA_WM_ICON_SIZE ((Atom) 38)
#define XA_WM_NAME ((Atom) 39)
#define XA_WM_NORMAL_HINTS ((Atom) 40)
#define XA_WM_SIZE_HINTS ((Atom) 41)
#define XA_WM_ZOOM_HINTS ((Atom) 42)
#define XA_MIN_SPACE ((Atom) 43)
#define XA_NORM_SPACE ((Atom) 44)
#define XA_MAX_SPACE ((Atom) 45)
#define XA_END_SPACE ((Atom) 46)
#define XA_SUPERSCRIPT_X ((Atom) 47)
#define XA_SUPERSCRIPT_Y ((Atom) 48)
#define XA_SUBSCRIPT_X ((Atom) 49)
#define XA_SUBSCRIPT_Y ((Atom) 50)
#define XA_UNDERLINE_POSITION ((Atom) 51)
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
#define XA_ITALIC_ANGLE ((Atom) 55)
#define XA_X_HEIGHT ((Atom) 56)
#define XA_QUAD_WIDTH ((Atom) 57)
#define XA_WEIGHT ((Atom) 58)
#define XA_POINT_SIZE ((Atom) 59)
#define XA_RESOLUTION ((Atom) 60)
#define XA_COPYRIGHT ((Atom) 61)
#define XA_NOTICE ((Atom) 62)
#define XA_FONT_NAME ((Atom) 63)
#define XA_FAMILY_NAME ((Atom) 64)
#define XA_FULL_NAME ((Atom) 65)
#define XA_CAP_HEIGHT ((Atom) 66)
#define XA_WM_CLASS ((Atom) 67)
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
#define XA_LAST_PREDEFINED ((Atom) 68)
#endif /* XATOM_H */

View File

@@ -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 */

View File

@@ -0,0 +1,37 @@
/*
*
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 */

View File

@@ -0,0 +1,77 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,95 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,172 @@
/*
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.
*/
/*
* 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 */

View File

@@ -0,0 +1,139 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,123 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,164 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,102 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,97 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,42 @@
/*
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 */

View File

@@ -0,0 +1,116 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,111 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,98 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,100 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,167 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,139 @@
/***********************************************************
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.
******************************************************************/
/* 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 */

View File

@@ -0,0 +1,96 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,85 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,132 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,115 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,234 @@
/*
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.
*/
/* 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 */

View File

@@ -0,0 +1,115 @@
/*
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.
*/
/*
* 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 */

View File

@@ -0,0 +1,79 @@
/*
*
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.
*/
/*
* 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 */

View File

@@ -0,0 +1,89 @@
/*
*
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.
*/
/***********************************************************************
*
* 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 */

View File

@@ -0,0 +1,110 @@
/*
* 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.
******************************************************************/
#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 */

View File

@@ -0,0 +1,138 @@
/*
* 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.
******************************************************************/
#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 */

View File

@@ -0,0 +1,130 @@
/*
* 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.
*/
/*
* 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 */

View File

@@ -0,0 +1,179 @@
/*
* 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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,258 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,176 @@
/***********************************************************
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.
******************************************************************/
/*
* 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 */

View File

@@ -0,0 +1,105 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,106 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,61 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,62 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,73 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,82 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,55 @@
/*
*
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 */

View File

@@ -0,0 +1,133 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,103 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,113 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,99 @@
/*
*
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.
*
*/
/*
* 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 */

View File

@@ -0,0 +1,171 @@
/*
*
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
*/
/*
* 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 */

View File

@@ -0,0 +1,98 @@
/***********************************************************
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 _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 */

View File

@@ -0,0 +1,71 @@
/*
*
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.
*/
/*
* 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 */

View File

@@ -0,0 +1,96 @@
/*
*
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.
*/
/*
* 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 */

View File

@@ -0,0 +1,92 @@
/*
*
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
*/
#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 */

View File

@@ -0,0 +1,69 @@
/*
*
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.
*
*/
/*
* 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 */

Some files were not shown because too many files have changed in this diff Show More