diff -rNu xwave2-981109/Changelog xwave2-991019/Changelog
--- xwave2-981109/Changelog	Mon Nov  9 09:52:54 1998
+++ xwave2-991019/Changelog	Tue Oct 19 22:56:25 1999
@@ -1,4 +1,24 @@
 
+ * Jonathan Woithe (jwoithe@physics.adelaide.edu.au), 19 October 1999
+   - reinstated include/ directory (from previous xwave2 release) since
+     the Xfwf/ include tree is expected there.  The default make rules
+     don't automatically recreate it so include/ was removed from the
+     Imakefile's remove list under the "clean" target.
+   - conversion routines mg_sel_{left,right}{sample,pixel} were declared
+     in both edit.c and graphics.c.  Removed them from edit.c and inserted
+     prototypes in graphics.h (which edit.c includes).
+   - because the marking routines now use the mg_sel_* conversions, all
+     routines which clear and set the cursor need to as well so everything
+     references the same pixel coordinates.  Specifically, play_it_g() and
+     play_it_pointer() need to call mg_sel_leftpixel() to set an initial
+     value of lastpos since the playline's current position (if any) was
+     previously set using this routine; if this is not done, the "start
+     mark" line is not reliably erased when the playline moves for the first
+     time.  In addition, set_playline() needs to call mg_sel_leftpixel()
+     when setting the line back to the selected start point at the
+     conclusion of playing since this is the sample_number to pixel mapping
+     which other sections of the program expect to be in use.
+
  * Juhana Kouhia (kouhia@nic.funet.fi), 27 October 1998
    -added TODO file; suggestions and wishes are welcome;
    -fixed a small bug with zoom scrollbar: highest value was never reached
diff -rNu xwave2-981109/Imakefile xwave2-991019/Imakefile
--- xwave2-981109/Imakefile	Mon Nov  9 09:52:54 1998
+++ xwave2-991019/Imakefile	Tue Oct 19 23:01:43 1999
@@ -11,5 +11,5 @@
 MakefileSubdirs($(SUBDIRS))
 
 clean::
-	@rm -rf lib include man
+	@rm -rf lib man
 	@find . -name "Makefile*" -exec "rm" \{\} \;
diff -rNu xwave2-981109/include/Xfwf/Board.h xwave2-991019/include/Xfwf/Board.h
--- xwave2-981109/include/Xfwf/Board.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Board.h	Fri Oct 16 13:47:51 1998
@@ -0,0 +1,120 @@
+/* Generated by wbuild from "Board.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfBoard_H_
+#define _XfwfBoard_H_
+#include <Xfwf/Frame.h>
+#ifndef XtNabs_x
+#define XtNabs_x "abs_x"
+#endif
+#ifndef XtCAbs_x
+#define XtCAbs_x "Abs_x"
+#endif
+#ifndef XtRPosition
+#define XtRPosition "Position"
+#endif
+
+#ifndef XtNrel_x
+#define XtNrel_x "rel_x"
+#endif
+#ifndef XtCRel_x
+#define XtCRel_x "Rel_x"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNabs_y
+#define XtNabs_y "abs_y"
+#endif
+#ifndef XtCAbs_y
+#define XtCAbs_y "Abs_y"
+#endif
+#ifndef XtRPosition
+#define XtRPosition "Position"
+#endif
+
+#ifndef XtNrel_y
+#define XtNrel_y "rel_y"
+#endif
+#ifndef XtCRel_y
+#define XtCRel_y "Rel_y"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNabs_width
+#define XtNabs_width "abs_width"
+#endif
+#ifndef XtCAbs_width
+#define XtCAbs_width "Abs_width"
+#endif
+#ifndef XtRPosition
+#define XtRPosition "Position"
+#endif
+
+#ifndef XtNrel_width
+#define XtNrel_width "rel_width"
+#endif
+#ifndef XtCRel_width
+#define XtCRel_width "Rel_width"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNabs_height
+#define XtNabs_height "abs_height"
+#endif
+#ifndef XtCAbs_height
+#define XtCAbs_height "Abs_height"
+#endif
+#ifndef XtRPosition
+#define XtRPosition "Position"
+#endif
+
+#ifndef XtNrel_height
+#define XtNrel_height "rel_height"
+#endif
+#ifndef XtCRel_height
+#define XtCRel_height "Rel_height"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNhunit
+#define XtNhunit "hunit"
+#endif
+#ifndef XtCHunit
+#define XtCHunit "Hunit"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNvunit
+#define XtNvunit "vunit"
+#endif
+#ifndef XtCVunit
+#define XtCVunit "Vunit"
+#endif
+#ifndef XtRFloat
+#define XtRFloat "Float"
+#endif
+
+#ifndef XtNlocation
+#define XtNlocation "location"
+#endif
+#ifndef XtCLocation
+#define XtCLocation "Location"
+#endif
+#ifndef XtRString
+#define XtRString "String"
+#endif
+
+typedef struct _XfwfBoardClassRec *XfwfBoardWidgetClass;
+typedef struct _XfwfBoardRec *XfwfBoardWidget;
+externalref WidgetClass xfwfBoardWidgetClass;
+#endif /*_XfwfBoard_H_*/
diff -rNu xwave2-981109/include/Xfwf/BoardP.h xwave2-991019/include/Xfwf/BoardP.h
--- xwave2-981109/include/Xfwf/BoardP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/BoardP.h	Fri Oct 16 13:47:51 1998
@@ -0,0 +1,58 @@
+/* Generated by wbuild from "Board.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfBoardP_H_
+#define _XfwfBoardP_H_
+#include <Xfwf/FrameP.h>
+#include <Xfwf/Board.h>
+#define MAGICNUM 12349 
+
+
+typedef void (*set_abs_location_Proc)(
+#if NeedFunctionPrototypes
+Widget,unsigned  int ,int ,int ,int ,int 
+#endif
+);
+#define XtInherit_set_abs_location ((set_abs_location_Proc) _XtInherit)
+
+typedef struct {
+/* methods */
+set_abs_location_Proc set_abs_location;
+/* class variables */
+} XfwfBoardClassPart;
+
+typedef struct _XfwfBoardClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+} XfwfBoardClassRec;
+
+typedef struct {
+/* resources */
+Position  abs_x;
+float  rel_x;
+Position  abs_y;
+float  rel_y;
+Position  abs_width;
+float  rel_width;
+Position  abs_height;
+float  rel_height;
+float  hunit;
+float  vunit;
+String  location;
+/* private state */
+} XfwfBoardPart;
+
+typedef struct _XfwfBoardRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+} XfwfBoardRec;
+
+externalref XfwfBoardClassRec xfwfBoardClassRec;
+
+#endif /* _XfwfBoardP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Button.h xwave2-991019/include/Xfwf/Button.h
--- xwave2-981109/include/Xfwf/Button.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Button.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,40 @@
+/* Generated by wbuild from "Button.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfButton_H_
+#define _XfwfButton_H_
+#include <Xfwf/Label.h>
+#ifndef XtNactivate
+#define XtNactivate "activate"
+#endif
+#ifndef XtCActivate
+#define XtCActivate "Activate"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+#ifndef XtNenter
+#define XtNenter "enter"
+#endif
+#ifndef XtCEnter
+#define XtCEnter "Enter"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+#ifndef XtNleave
+#define XtNleave "leave"
+#endif
+#ifndef XtCLeave
+#define XtCLeave "Leave"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+typedef struct _XfwfButtonClassRec *XfwfButtonWidgetClass;
+typedef struct _XfwfButtonRec *XfwfButtonWidget;
+externalref WidgetClass xfwfButtonWidgetClass;
+#endif /*_XfwfButton_H_*/
diff -rNu xwave2-981109/include/Xfwf/ButtonP.h xwave2-991019/include/Xfwf/ButtonP.h
--- xwave2-981109/include/Xfwf/ButtonP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/ButtonP.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,45 @@
+/* Generated by wbuild from "Button.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfButtonP_H_
+#define _XfwfButtonP_H_
+#include <Xfwf/LabelP.h>
+#include <Xfwf/Button.h>
+
+typedef struct {
+/* methods */
+/* class variables */
+int dummy;
+} XfwfButtonClassPart;
+
+typedef struct _XfwfButtonClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfLabelClassPart xfwfLabel_class;
+XfwfButtonClassPart xfwfButton_class;
+} XfwfButtonClassRec;
+
+typedef struct {
+/* resources */
+XtCallbackList  activate;
+XtCallbackList  enter;
+XtCallbackList  leave;
+/* private state */
+} XfwfButtonPart;
+
+typedef struct _XfwfButtonRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfLabelPart xfwfLabel;
+XfwfButtonPart xfwfButton;
+} XfwfButtonRec;
+
+externalref XfwfButtonClassRec xfwfButtonClassRec;
+
+#endif /* _XfwfButtonP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Common.h xwave2-991019/include/Xfwf/Common.h
--- xwave2-981109/include/Xfwf/Common.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Common.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,113 @@
+/* Generated by wbuild from "Common.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfCommon_H_
+#define _XfwfCommon_H_
+#include <X11/Composite.h>
+typedef int  Alignment;
+
+#define XfwfCenter 0 
+
+
+#define XfwfLeft 1 
+
+
+#define XfwfRight 2 
+
+
+#define XfwfTop 4 
+
+
+#define XfwfBottom 8 
+
+
+#define XfwfTopLeft (XfwfTop +XfwfLeft )
+
+
+#define XfwfTopRight (XfwfTop +XfwfRight )
+
+
+#define XfwfBottomLeft (XfwfBottom +XfwfLeft )
+
+
+#define XfwfBottomRight (XfwfBottom +XfwfRight )
+
+
+typedef enum {
+	    TraverseLeft, TraverseRight, TraverseUp, TraverseDown,
+	    TraverseNext, TraversePrev, TraverseHome, TraverseNextTop } TraversalDirection;
+
+void XfwfCallComputeInside(
+#if NeedFunctionPrototypes
+Widget,Position *,Position *,Dimension *,Dimension *
+#endif
+);
+Dimension  XfwfCallFrameWidth(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#ifndef XtNtraversalOn
+#define XtNtraversalOn "traversalOn"
+#endif
+#ifndef XtCTraversalOn
+#define XtCTraversalOn "TraversalOn"
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean "Boolean"
+#endif
+
+#ifndef XtNhighlightThickness
+#define XtNhighlightThickness "highlightThickness"
+#endif
+#ifndef XtCHighlightThickness
+#define XtCHighlightThickness "HighlightThickness"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNhighlightColor
+#define XtNhighlightColor "highlightColor"
+#endif
+#ifndef XtCHighlightColor
+#define XtCHighlightColor "HighlightColor"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNhighlightPixmap
+#define XtNhighlightPixmap "highlightPixmap"
+#endif
+#ifndef XtCHighlightPixmap
+#define XtCHighlightPixmap "HighlightPixmap"
+#endif
+#ifndef XtRPixmap
+#define XtRPixmap "Pixmap"
+#endif
+
+#ifndef XtNnextTop
+#define XtNnextTop "nextTop"
+#endif
+#ifndef XtCNextTop
+#define XtCNextTop "NextTop"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+#ifndef XtNuserData
+#define XtNuserData "userData"
+#endif
+#ifndef XtCUserData
+#define XtCUserData "UserData"
+#endif
+#ifndef XtRPointer
+#define XtRPointer "Pointer"
+#endif
+
+typedef struct _XfwfCommonClassRec *XfwfCommonWidgetClass;
+typedef struct _XfwfCommonRec *XfwfCommonWidget;
+externalref WidgetClass xfwfCommonWidgetClass;
+#endif /*_XfwfCommon_H_*/
diff -rNu xwave2-981109/include/Xfwf/CommonP.h xwave2-991019/include/Xfwf/CommonP.h
--- xwave2-981109/include/Xfwf/CommonP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/CommonP.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,107 @@
+/* Generated by wbuild from "Common.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfCommonP_H_
+#define _XfwfCommonP_H_
+#include <X11/CompositeP.h>
+#include <Xfwf/Common.h>
+#define max(a, b) ((a )>(b )?(a ):(b ))
+
+
+#define min(a, b) ((a )<(b )?(a ):(b ))
+
+
+#define abs(a) ((a )<0 ?-(a ):(a ))
+
+
+typedef void (*compute_inside_Proc)(
+#if NeedFunctionPrototypes
+Widget,Position *,Position *,Dimension *,Dimension *
+#endif
+);
+#define XtInherit_compute_inside ((compute_inside_Proc) _XtInherit)
+typedef Dimension  (*total_frame_width_Proc)(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#define XtInherit_total_frame_width ((total_frame_width_Proc) _XtInherit)
+typedef void (*highlight_border_Proc)(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#define XtInherit_highlight_border ((highlight_border_Proc) _XtInherit)
+typedef void (*unhighlight_border_Proc)(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#define XtInherit_unhighlight_border ((unhighlight_border_Proc) _XtInherit)
+typedef Boolean  (*would_accept_focus_Proc)(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#define XtInherit_would_accept_focus ((would_accept_focus_Proc) _XtInherit)
+typedef void (*traverse_Proc)(
+#if NeedFunctionPrototypes
+Widget,TraversalDirection ,Widget ,Time *
+#endif
+);
+#define XtInherit_traverse ((traverse_Proc) _XtInherit)
+typedef Boolean  (*lighter_color_Proc)(
+#if NeedFunctionPrototypes
+Widget,Pixel ,Pixel *
+#endif
+);
+#define XtInherit_lighter_color ((lighter_color_Proc) _XtInherit)
+typedef Boolean  (*darker_color_Proc)(
+#if NeedFunctionPrototypes
+Widget,Pixel ,Pixel *
+#endif
+);
+#define XtInherit_darker_color ((darker_color_Proc) _XtInherit)
+
+typedef struct {
+/* methods */
+compute_inside_Proc compute_inside;
+total_frame_width_Proc total_frame_width;
+highlight_border_Proc highlight_border;
+unhighlight_border_Proc unhighlight_border;
+would_accept_focus_Proc would_accept_focus;
+traverse_Proc traverse;
+lighter_color_Proc lighter_color;
+darker_color_Proc darker_color;
+/* class variables */
+XtTranslations  traversal_trans;
+} XfwfCommonClassPart;
+
+typedef struct _XfwfCommonClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+} XfwfCommonClassRec;
+
+typedef struct {
+/* resources */
+Boolean  traversalOn;
+Dimension  highlightThickness;
+Pixel  highlightColor;
+Pixmap  highlightPixmap;
+XtCallbackList  nextTop;
+XtPointer  userData;
+/* private state */
+Boolean  traversal_focus;
+GC  bordergc;
+} XfwfCommonPart;
+
+typedef struct _XfwfCommonRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+} XfwfCommonRec;
+
+externalref XfwfCommonClassRec xfwfCommonClassRec;
+
+#endif /* _XfwfCommonP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Converters.h xwave2-991019/include/Xfwf/Converters.h
--- xwave2-981109/include/Xfwf/Converters.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Converters.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,45 @@
+#ifndef _Converters_h
+#define _Converters_h
+
+#include <Xfwf/long.h>
+#include <Xfwf/icon.h>
+#include <Xfwf/choosecol.h>
+#include <Xfwf/strarray.h>
+#include <Xfwf/StrToPmap.h>
+#include <Xfwf/Pen.h>
+
+#define done_bert(type, value) \
+    do {\
+	if (to->addr != NULL) {\
+	    if (to->size < sizeof(type)) {\
+	        to->size = sizeof(type);\
+	        return False;\
+	    }\
+	    *(type*)(to->addr) = (value);\
+        } else {\
+	    static type static_val;\
+	    static_val = (value);\
+	    to->addr = (XtPointer)&static_val;\
+        }\
+        to->size = sizeof(type);\
+        return True;\
+    } while (0)
+
+#define done_bob(type, value) \
+   {                                    \
+       if (toVal->addr != NULL) {       \
+          if (toVal->size < sizeof(type)) {\
+             toVal->size = sizeof(type);\
+             return False;              \
+          }                             \
+          *(type*)(toVal->addr) = (value);\
+       }                                \
+       else {                           \
+          static type static_val;       \
+          static_val = (value);         \
+          toVal->addr = (XPointer)&static_val;\
+       }                                \
+       toVal->size = sizeof(type);      \
+   }
+
+#endif /* _Converters_h */
diff -rNu xwave2-981109/include/Xfwf/Frame.h xwave2-991019/include/Xfwf/Frame.h
--- xwave2-981109/include/Xfwf/Frame.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Frame.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,142 @@
+/* Generated by wbuild from "Frame.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfFrame_H_
+#define _XfwfFrame_H_
+#include <Xfwf/Common.h>
+typedef enum {
+	    XfwfRaised, XfwfSunken, XfwfChiseled, XfwfLedged } FrameType;
+
+typedef enum {XfwfAuto, XfwfColor, XfwfStipple} ShadowScheme;
+
+typedef Pixmap  Bitmap;
+
+void XfwfDrawFrame(
+#if NeedFunctionPrototypes
+Widget,int ,int ,int ,int ,FrameType ,int ,GC ,GC 
+#endif
+);
+Boolean  cvtStringToFrameType(
+#if NeedFunctionPrototypes
+Display *,XrmValuePtr ,Cardinal *,XrmValuePtr ,XrmValuePtr ,XtPointer *
+#endif
+);
+Boolean  cvtFrameTypeToString(
+#if NeedFunctionPrototypes
+Display *,XrmValuePtr ,Cardinal *,XrmValuePtr ,XrmValuePtr ,XtPointer *
+#endif
+);
+Boolean  cvtStringToShadowScheme(
+#if NeedFunctionPrototypes
+Display *,XrmValuePtr ,Cardinal *,XrmValuePtr ,XrmValuePtr ,XtPointer *
+#endif
+);
+Boolean  cvtShadowSchemeToString(
+#if NeedFunctionPrototypes
+Display *,XrmValuePtr ,Cardinal *,XrmValuePtr ,XrmValuePtr ,XtPointer *
+#endif
+);
+#ifndef XtNcursor
+#define XtNcursor "cursor"
+#endif
+#ifndef XtCCursor
+#define XtCCursor "Cursor"
+#endif
+#ifndef XtRCursor
+#define XtRCursor "Cursor"
+#endif
+
+#ifndef XtNframeType
+#define XtNframeType "frameType"
+#endif
+#ifndef XtCFrameType
+#define XtCFrameType "FrameType"
+#endif
+#ifndef XtRFrameType
+#define XtRFrameType "FrameType"
+#endif
+
+#ifndef XtNframeWidth
+#define XtNframeWidth "frameWidth"
+#endif
+#ifndef XtCFrameWidth
+#define XtCFrameWidth "FrameWidth"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNouterOffset
+#define XtNouterOffset "outerOffset"
+#endif
+#ifndef XtCOuterOffset
+#define XtCOuterOffset "OuterOffset"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNinnerOffset
+#define XtNinnerOffset "innerOffset"
+#endif
+#ifndef XtCInnerOffset
+#define XtCInnerOffset "InnerOffset"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNshadowScheme
+#define XtNshadowScheme "shadowScheme"
+#endif
+#ifndef XtCShadowScheme
+#define XtCShadowScheme "ShadowScheme"
+#endif
+#ifndef XtRShadowScheme
+#define XtRShadowScheme "ShadowScheme"
+#endif
+
+#ifndef XtNtopShadowColor
+#define XtNtopShadowColor "topShadowColor"
+#endif
+#ifndef XtCTopShadowColor
+#define XtCTopShadowColor "TopShadowColor"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNbottomShadowColor
+#define XtNbottomShadowColor "bottomShadowColor"
+#endif
+#ifndef XtCBottomShadowColor
+#define XtCBottomShadowColor "BottomShadowColor"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNtopShadowStipple
+#define XtNtopShadowStipple "topShadowStipple"
+#endif
+#ifndef XtCTopShadowStipple
+#define XtCTopShadowStipple "TopShadowStipple"
+#endif
+#ifndef XtRBitmap
+#define XtRBitmap "Bitmap"
+#endif
+
+#ifndef XtNbottomShadowStipple
+#define XtNbottomShadowStipple "bottomShadowStipple"
+#endif
+#ifndef XtCBottomShadowStipple
+#define XtCBottomShadowStipple "BottomShadowStipple"
+#endif
+#ifndef XtRBitmap
+#define XtRBitmap "Bitmap"
+#endif
+
+typedef struct _XfwfFrameClassRec *XfwfFrameWidgetClass;
+typedef struct _XfwfFrameRec *XfwfFrameWidget;
+externalref WidgetClass xfwfFrameWidgetClass;
+#endif /*_XfwfFrame_H_*/
diff -rNu xwave2-981109/include/Xfwf/FrameP.h xwave2-991019/include/Xfwf/FrameP.h
--- xwave2-981109/include/Xfwf/FrameP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/FrameP.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,50 @@
+/* Generated by wbuild from "Frame.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfFrameP_H_
+#define _XfwfFrameP_H_
+#include <Xfwf/CommonP.h>
+#include <Xfwf/Frame.h>
+
+typedef struct {
+/* methods */
+/* class variables */
+int dummy;
+} XfwfFrameClassPart;
+
+typedef struct _XfwfFrameClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+} XfwfFrameClassRec;
+
+typedef struct {
+/* resources */
+Cursor  cursor;
+FrameType  frameType;
+Dimension  frameWidth;
+Dimension  outerOffset;
+Dimension  innerOffset;
+ShadowScheme  shadowScheme;
+Pixel  topShadowColor;
+Pixel  bottomShadowColor;
+Bitmap  topShadowStipple;
+Bitmap  bottomShadowStipple;
+/* private state */
+GC  lightgc;
+GC  darkgc;
+Pixmap  stip4;
+FrameType  old_frame_type;
+} XfwfFramePart;
+
+typedef struct _XfwfFrameRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+} XfwfFrameRec;
+
+externalref XfwfFrameClassRec xfwfFrameClassRec;
+
+#endif /* _XfwfFrameP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Group.h xwave2-991019/include/Xfwf/Group.h
--- xwave2-981109/include/Xfwf/Group.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Group.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,74 @@
+/* Generated by wbuild from "Group.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfGroup_H_
+#define _XfwfGroup_H_
+#include <Xfwf/RowCol.h>
+typedef enum {
+		XfwfNoSelection, XfwfSingleSelection,
+		XfwfOneSelection, XfwfMultipleSelection } SelectionType;
+
+#ifndef XtNlabel
+#define XtNlabel "label"
+#endif
+#ifndef XtCLabel
+#define XtCLabel "Label"
+#endif
+#ifndef XtRString
+#define XtRString "String"
+#endif
+
+#ifndef XtNfont
+#define XtNfont "font"
+#endif
+#ifndef XtCFont
+#define XtCFont "Font"
+#endif
+#ifndef XtRFontStruct
+#define XtRFontStruct "FontStruct"
+#endif
+
+#ifndef XtNforeground
+#define XtNforeground "foreground"
+#endif
+#ifndef XtCForeground
+#define XtCForeground "Foreground"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNselectionStyle
+#define XtNselectionStyle "selectionStyle"
+#endif
+#ifndef XtCSelectionStyle
+#define XtCSelectionStyle "SelectionStyle"
+#endif
+#ifndef XtRSelectionType
+#define XtRSelectionType "SelectionType"
+#endif
+
+#ifndef XtNselection
+#define XtNselection "selection"
+#endif
+#ifndef XtCSelection
+#define XtCSelection "Selection"
+#endif
+#ifndef XtRLong
+#define XtRLong "Long"
+#endif
+
+#ifndef XtNactivate
+#define XtNactivate "activate"
+#endif
+#ifndef XtCActivate
+#define XtCActivate "Activate"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+typedef struct _XfwfGroupClassRec *XfwfGroupWidgetClass;
+typedef struct _XfwfGroupRec *XfwfGroupWidget;
+externalref WidgetClass xfwfGroupWidgetClass;
+#endif /*_XfwfGroup_H_*/
diff -rNu xwave2-981109/include/Xfwf/GroupP.h xwave2-991019/include/Xfwf/GroupP.h
--- xwave2-981109/include/Xfwf/GroupP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/GroupP.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,50 @@
+/* Generated by wbuild from "Group.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfGroupP_H_
+#define _XfwfGroupP_H_
+#include <Xfwf/RowColP.h>
+#include <Xfwf/Group.h>
+
+typedef struct {
+/* methods */
+/* class variables */
+int dummy;
+} XfwfGroupClassPart;
+
+typedef struct _XfwfGroupClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfRowColClassPart xfwfRowCol_class;
+XfwfGroupClassPart xfwfGroup_class;
+} XfwfGroupClassRec;
+
+typedef struct {
+/* resources */
+String  label;
+XFontStruct * font;
+Pixel  foreground;
+SelectionType  selectionStyle;
+long  selection;
+XtCallbackList  activate;
+/* private state */
+GC  textgc;
+Cardinal  toggle_ord;
+} XfwfGroupPart;
+
+typedef struct _XfwfGroupRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfRowColPart xfwfRowCol;
+XfwfGroupPart xfwfGroup;
+} XfwfGroupRec;
+
+externalref XfwfGroupClassRec xfwfGroupClassRec;
+
+#endif /* _XfwfGroupP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Label.h xwave2-991019/include/Xfwf/Label.h
--- xwave2-981109/include/Xfwf/Label.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Label.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,160 @@
+/* Generated by wbuild from "Label.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfLabel_H_
+#define _XfwfLabel_H_
+#include <Xfwf/Board.h>
+#ifndef XtNlabel
+#define XtNlabel "label"
+#endif
+#ifndef XtCLabel
+#define XtCLabel "Label"
+#endif
+#ifndef XtRString
+#define XtRString "String"
+#endif
+
+#ifndef XtNtablist
+#define XtNtablist "tablist"
+#endif
+#ifndef XtCTablist
+#define XtCTablist "Tablist"
+#endif
+#ifndef XtRString
+#define XtRString "String"
+#endif
+
+#ifndef XtNfont
+#define XtNfont "font"
+#endif
+#ifndef XtCFont
+#define XtCFont "Font"
+#endif
+#ifndef XtRFontStruct
+#define XtRFontStruct "FontStruct"
+#endif
+
+#ifndef XtNforeground
+#define XtNforeground "foreground"
+#endif
+#ifndef XtCForeground
+#define XtCForeground "Foreground"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNhlForeground
+#define XtNhlForeground "hlForeground"
+#endif
+#ifndef XtCHlForeground
+#define XtCHlForeground "HlForeground"
+#endif
+#ifndef XtRPixel
+#define XtRPixel "Pixel"
+#endif
+
+#ifndef XtNalignment
+#define XtNalignment "alignment"
+#endif
+#ifndef XtCAlignment
+#define XtCAlignment "Alignment"
+#endif
+#ifndef XtRAlignment
+#define XtRAlignment "Alignment"
+#endif
+
+#ifndef XtNtopMargin
+#define XtNtopMargin "topMargin"
+#endif
+#ifndef XtCTopMargin
+#define XtCTopMargin "TopMargin"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNbottomMargin
+#define XtNbottomMargin "bottomMargin"
+#endif
+#ifndef XtCBottomMargin
+#define XtCBottomMargin "BottomMargin"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNleftMargin
+#define XtNleftMargin "leftMargin"
+#endif
+#ifndef XtCLeftMargin
+#define XtCLeftMargin "LeftMargin"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNrightMargin
+#define XtNrightMargin "rightMargin"
+#endif
+#ifndef XtCRightMargin
+#define XtCRightMargin "RightMargin"
+#endif
+#ifndef XtRDimension
+#define XtRDimension "Dimension"
+#endif
+
+#ifndef XtNshrinkToFit
+#define XtNshrinkToFit "shrinkToFit"
+#endif
+#ifndef XtCShrinkToFit
+#define XtCShrinkToFit "ShrinkToFit"
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean "Boolean"
+#endif
+
+#ifndef XtNrvStart
+#define XtNrvStart "rvStart"
+#endif
+#ifndef XtCRvStart
+#define XtCRvStart "RvStart"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+#ifndef XtNrvLength
+#define XtNrvLength "rvLength"
+#endif
+#ifndef XtCRvLength
+#define XtCRvLength "RvLength"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+#ifndef XtNhlStart
+#define XtNhlStart "hlStart"
+#endif
+#ifndef XtCHlStart
+#define XtCHlStart "HlStart"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+#ifndef XtNhlLength
+#define XtNhlLength "hlLength"
+#endif
+#ifndef XtCHlLength
+#define XtCHlLength "HlLength"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+typedef struct _XfwfLabelClassRec *XfwfLabelWidgetClass;
+typedef struct _XfwfLabelRec *XfwfLabelWidget;
+externalref WidgetClass xfwfLabelWidgetClass;
+#endif /*_XfwfLabel_H_*/
diff -rNu xwave2-981109/include/Xfwf/LabelP.h xwave2-991019/include/Xfwf/LabelP.h
--- xwave2-981109/include/Xfwf/LabelP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/LabelP.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,69 @@
+/* Generated by wbuild from "Label.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfLabelP_H_
+#define _XfwfLabelP_H_
+#include <Xfwf/BoardP.h>
+#include <Xfwf/Label.h>
+typedef void (*set_label_Proc)(
+#if NeedFunctionPrototypes
+Widget,String 
+#endif
+);
+#define XtInherit_set_label ((set_label_Proc) _XtInherit)
+
+typedef struct {
+/* methods */
+set_label_Proc set_label;
+/* class variables */
+} XfwfLabelClassPart;
+
+typedef struct _XfwfLabelClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfLabelClassPart xfwfLabel_class;
+} XfwfLabelClassRec;
+
+typedef struct {
+/* resources */
+String  label;
+String  tablist;
+XFontStruct * font;
+Pixel  foreground;
+Pixel  hlForeground;
+Alignment  alignment;
+Dimension  topMargin;
+Dimension  bottomMargin;
+Dimension  leftMargin;
+Dimension  rightMargin;
+Boolean  shrinkToFit;
+int  rvStart;
+int  rvLength;
+int  hlStart;
+int  hlLength;
+/* private state */
+int  nlines;
+int * tabs;
+GC  gc;
+GC  rv_gc;
+GC  hl_gc;
+GC  graygc;
+Dimension  label_width;
+Dimension  label_height;
+} XfwfLabelPart;
+
+typedef struct _XfwfLabelRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfLabelPart xfwfLabel;
+} XfwfLabelRec;
+
+externalref XfwfLabelClassRec xfwfLabelClassRec;
+
+#endif /* _XfwfLabelP_H_ */
diff -rNu xwave2-981109/include/Xfwf/Pen.h xwave2-991019/include/Xfwf/Pen.h
--- xwave2-981109/include/Xfwf/Pen.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Pen.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,94 @@
+#ifndef Xfwf_Pen_h_
+#define Xfwf_Pen_h_
+
+#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _XfwfPen {
+  GC	gc;
+  XGCValues	xgcv;
+  unsigned long	mask;
+  unsigned long	*colors;
+  unsigned	ncolors;
+  int	user_xgcv;
+  int	user_gc;
+} XfwfPen, *XfwfPenPtr;
+
+/* When the pen is built by the String->Pen resource converter the
+   following bits can be set in the mask: */
+#define	XfwfPenGCBits	(GCForeground|GCBackground|GCFillStyle|\
+			 GCTile|GCStipple)
+
+#define XtRXfwfPenPtr	"XfwfPenPtr"
+
+#ifndef XtCForegroundPen
+#define XtCForegroundPen	"ForegroundPen"
+#endif
+
+#ifndef XtDefaultForegroundPen
+#define XtDefaultForegroundPen	"solid:XtDefaultForeground"
+#endif
+
+#ifndef XtCBackgroundPen
+#define XtCBackgroundPen	"BackgroundPen"
+#endif
+
+#ifndef XtDefaultBackgroundPen
+#define XtDefaultBackgroundPen	"solid:XtDefaultBackground"
+#endif
+
+#ifndef XtNtopShadowPen
+#define XtNtopShadowPen		"topShadowPen"
+#endif
+
+#ifndef XtCTopShadowPen
+#define XtCTopShadowPen		"TopShadowPen"
+#endif
+
+#ifndef XtDefaultTopShadowPen
+#define XtDefaultTopShadowPen	"solid:XtDefaultForeground"
+#endif
+
+#ifndef XtNbottomShadowPen
+#define XtNbottomShadowPen	"bottomShadowPen"
+#endif
+
+#ifndef XtCBottomShadowPen
+#define XtCBottomShadowPen	"BottomShadowPen"
+#endif
+
+#ifndef XtDefaultBottomShadowPen
+#define XtDefaultBottomShadowPen	"mono:opaque-stipple:XtDefaultForeground,XtDefaultBackground,XtCheckerBitmap|solid:XtDefaultBackground"
+#endif
+
+/* performs a bcmp on the two structs */
+int SameXfwfPen(/* XfwfPen*, XfwfPen* */);
+
+/* if the gc field of the pen is 0, then it calls XtGetGC with the
+   xgcv and mask to make one */
+int ValidateXfwfPen(/* Widget, XfwfPen* */);
+
+/* If the user_gc field is zero it calls XtReleaseGC on the gc.
+
+   If user_xgcv is zero it releases each of the resources specified in
+   (mask&XfwfPenGCBits).
+
+   If colors is non-null it calls XFree colors with it and then free(3)s
+   the colors pointer.
+*/
+int FreeXfwfPen(/* XfwfPen* */);
+
+extern XtConvertArgRec	Xfwf_StringToPen_Args[];
+extern int Xfwf_Num_StringToPen_Args;
+
+void XfwfInstallStringToPenConverter();
+
+#ifdef __cplusplus
+}	/* extern C */
+#endif
+
+#endif /* Xfwf_Pen_h_ */
diff -rNu xwave2-981109/include/Xfwf/RadioGrp.h xwave2-991019/include/Xfwf/RadioGrp.h
--- xwave2-981109/include/Xfwf/RadioGrp.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/RadioGrp.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,21 @@
+/* Generated by wbuild from "RadioGrp.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfRadioGroup_H_
+#define _XfwfRadioGroup_H_
+#include <Xfwf/Group.h>
+#include <Xfwf/Converters.h>
+#ifndef XtNlabels
+#define XtNlabels "labels"
+#endif
+#ifndef XtCLabels
+#define XtCLabels "Labels"
+#endif
+#ifndef XtRStringArray
+#define XtRStringArray "StringArray"
+#endif
+
+typedef struct _XfwfRadioGroupClassRec *XfwfRadioGroupWidgetClass;
+typedef struct _XfwfRadioGroupRec *XfwfRadioGroupWidget;
+externalref WidgetClass xfwfRadioGroupWidgetClass;
+#endif /*_XfwfRadioGroup_H_*/
diff -rNu xwave2-981109/include/Xfwf/RadioGrpP.h xwave2-991019/include/Xfwf/RadioGrpP.h
--- xwave2-981109/include/Xfwf/RadioGrpP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/RadioGrpP.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,45 @@
+/* Generated by wbuild from "RadioGrp.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfRadioGroupP_H_
+#define _XfwfRadioGroupP_H_
+#include <Xfwf/GroupP.h>
+#include <Xfwf/RadioGrp.h>
+
+typedef struct {
+/* methods */
+/* class variables */
+int dummy;
+} XfwfRadioGroupClassPart;
+
+typedef struct _XfwfRadioGroupClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfRowColClassPart xfwfRowCol_class;
+XfwfGroupClassPart xfwfGroup_class;
+XfwfRadioGroupClassPart xfwfRadioGroup_class;
+} XfwfRadioGroupClassRec;
+
+typedef struct {
+/* resources */
+StringArray  labels;
+/* private state */
+} XfwfRadioGroupPart;
+
+typedef struct _XfwfRadioGroupRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfRowColPart xfwfRowCol;
+XfwfGroupPart xfwfGroup;
+XfwfRadioGroupPart xfwfRadioGroup;
+} XfwfRadioGroupRec;
+
+externalref XfwfRadioGroupClassRec xfwfRadioGroupClassRec;
+
+#endif /* _XfwfRadioGroupP_H_ */
diff -rNu xwave2-981109/include/Xfwf/RowCol.h xwave2-991019/include/Xfwf/RowCol.h
--- xwave2-981109/include/Xfwf/RowCol.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/RowCol.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,60 @@
+/* Generated by wbuild from "RowCol.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfRowCol_H_
+#define _XfwfRowCol_H_
+#include <Xfwf/Board.h>
+#ifndef XtNstoreByRow
+#define XtNstoreByRow "storeByRow"
+#endif
+#ifndef XtCStoreByRow
+#define XtCStoreByRow "StoreByRow"
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean "Boolean"
+#endif
+
+#ifndef XtNrows
+#define XtNrows "rows"
+#endif
+#ifndef XtCRows
+#define XtCRows "Rows"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+#ifndef XtNcolumns
+#define XtNcolumns "columns"
+#endif
+#ifndef XtCColumns
+#define XtCColumns "Columns"
+#endif
+#ifndef XtRInt
+#define XtRInt "Int"
+#endif
+
+#ifndef XtNalignment
+#define XtNalignment "alignment"
+#endif
+#ifndef XtCAlignment
+#define XtCAlignment "Alignment"
+#endif
+#ifndef XtRAlignment
+#define XtRAlignment "Alignment"
+#endif
+
+#ifndef XtNshrinkToFit
+#define XtNshrinkToFit "shrinkToFit"
+#endif
+#ifndef XtCShrinkToFit
+#define XtCShrinkToFit "ShrinkToFit"
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean "Boolean"
+#endif
+
+typedef struct _XfwfRowColClassRec *XfwfRowColWidgetClass;
+typedef struct _XfwfRowColRec *XfwfRowColWidget;
+externalref WidgetClass xfwfRowColWidgetClass;
+#endif /*_XfwfRowCol_H_*/
diff -rNu xwave2-981109/include/Xfwf/RowColP.h xwave2-991019/include/Xfwf/RowColP.h
--- xwave2-981109/include/Xfwf/RowColP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/RowColP.h	Fri Oct 16 13:47:52 1998
@@ -0,0 +1,53 @@
+/* Generated by wbuild from "RowCol.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfRowColP_H_
+#define _XfwfRowColP_H_
+#include <Xfwf/BoardP.h>
+#include <Xfwf/RowCol.h>
+typedef void (*layout_Proc)(
+#if NeedFunctionPrototypes
+Widget,int 
+#endif
+);
+#define XtInherit_layout ((layout_Proc) _XtInherit)
+
+typedef struct {
+/* methods */
+layout_Proc layout;
+/* class variables */
+} XfwfRowColClassPart;
+
+typedef struct _XfwfRowColClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfRowColClassPart xfwfRowCol_class;
+} XfwfRowColClassRec;
+
+typedef struct {
+/* resources */
+Boolean  storeByRow;
+int  rows;
+int  columns;
+Alignment  alignment;
+Boolean  shrinkToFit;
+/* private state */
+Dimension  max_width;
+Dimension  max_height;
+} XfwfRowColPart;
+
+typedef struct _XfwfRowColRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfRowColPart xfwfRowCol;
+} XfwfRowColRec;
+
+externalref XfwfRowColClassRec xfwfRowColClassRec;
+
+#endif /* _XfwfRowColP_H_ */
diff -rNu xwave2-981109/include/Xfwf/StrToPmap.h xwave2-991019/include/Xfwf/StrToPmap.h
--- xwave2-981109/include/Xfwf/StrToPmap.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/StrToPmap.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,17 @@
+#ifndef Xfwf_StrToPmap_h_
+#define Xfwf_StrToPmap_h_
+
+#include <X11/Intrinsic.h>
+
+int XfwfLocatePixmapFile();
+
+extern XtConvertArgRec  Xfwf_StringToPixmap_Args[];
+extern int Xfwf_Num_StringToPixmap_Args;
+
+extern int Xfwf_StringToPixmap_AssumeDefaultVisual;
+
+Boolean XfwfCvtStringToPixmap();
+
+void XfwfInstallStringToPixmapConverter();
+
+#endif
diff -rNu xwave2-981109/include/Xfwf/TabString.h xwave2-991019/include/Xfwf/TabString.h
--- xwave2-981109/include/Xfwf/TabString.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/TabString.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,26 @@
+/*
+ *	Functions for drawing String's with tab characters in them
+ */
+
+#if (NeedFunctionPrototypes > 0)
+
+extern void	XfwfDrawImageString(Display *display, Drawable drawable,
+			GC gc, int x, int y, String string, int length,
+			int *tabs);
+extern void	XtabDrawString(Display *display, Drawable drawable, GC gc,
+			int x, int y, String string, int length, int *tabs);
+extern int *	XfwfTablist2Tabs(char *tablist);
+extern int	XfwfTextWidth(XFontStruct *font, String str, int length,
+			int *tabs);
+extern char *	strnchr(char *s, int c, int n);
+
+#else
+
+extern void	XfwfDrawImageString();
+extern void	XtabDrawString();
+extern int *	XfwfTablist2Tabs();
+extern int	XfwfTextWidth();
+extern char *	strnchr();
+
+#endif
+
diff -rNu xwave2-981109/include/Xfwf/Toggle.h xwave2-991019/include/Xfwf/Toggle.h
--- xwave2-981109/include/Xfwf/Toggle.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/Toggle.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,60 @@
+/* Generated by wbuild from "Toggle.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfToggle_H_
+#define _XfwfToggle_H_
+#include <Xfwf/Button.h>
+#ifndef XtNonCallback
+#define XtNonCallback "onCallback"
+#endif
+#ifndef XtCOnCallback
+#define XtCOnCallback "OnCallback"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+#ifndef XtNoffCallback
+#define XtNoffCallback "offCallback"
+#endif
+#ifndef XtCOffCallback
+#define XtCOffCallback "OffCallback"
+#endif
+#ifndef XtRCallback
+#define XtRCallback "Callback"
+#endif
+
+#ifndef XtNon
+#define XtNon "on"
+#endif
+#ifndef XtCOn
+#define XtCOn "On"
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean "Boolean"
+#endif
+
+#ifndef XtNonIcon
+#define XtNonIcon "onIcon"
+#endif
+#ifndef XtCOnIcon
+#define XtCOnIcon "OnIcon"
+#endif
+#ifndef XtRIcon
+#define XtRIcon "Icon"
+#endif
+
+#ifndef XtNoffIcon
+#define XtNoffIcon "offIcon"
+#endif
+#ifndef XtCOffIcon
+#define XtCOffIcon "OffIcon"
+#endif
+#ifndef XtRIcon
+#define XtRIcon "Icon"
+#endif
+
+typedef struct _XfwfToggleClassRec *XfwfToggleWidgetClass;
+typedef struct _XfwfToggleRec *XfwfToggleWidget;
+externalref WidgetClass xfwfToggleWidgetClass;
+#endif /*_XfwfToggle_H_*/
diff -rNu xwave2-981109/include/Xfwf/ToggleP.h xwave2-991019/include/Xfwf/ToggleP.h
--- xwave2-981109/include/Xfwf/ToggleP.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/ToggleP.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,52 @@
+/* Generated by wbuild from "Toggle.w"
+** (generator version $Revision: 2.5 $ of $Date: 94/07/29 15:31:49 $)
+*/
+#ifndef _XfwfToggleP_H_
+#define _XfwfToggleP_H_
+#include <Xfwf/ButtonP.h>
+#include <Xfwf/Toggle.h>
+
+typedef struct {
+/* methods */
+/* class variables */
+int dummy;
+} XfwfToggleClassPart;
+
+typedef struct _XfwfToggleClassRec {
+CoreClassPart core_class;
+CompositeClassPart composite_class;
+XfwfCommonClassPart xfwfCommon_class;
+XfwfFrameClassPart xfwfFrame_class;
+XfwfBoardClassPart xfwfBoard_class;
+XfwfLabelClassPart xfwfLabel_class;
+XfwfButtonClassPart xfwfButton_class;
+XfwfToggleClassPart xfwfToggle_class;
+} XfwfToggleClassRec;
+
+typedef struct {
+/* resources */
+XtCallbackList  onCallback;
+XtCallbackList  offCallback;
+Boolean  on;
+Icon * onIcon;
+Icon * offIcon;
+/* private state */
+GC  on_gc;
+GC  off_gc;
+Dimension  saveLeftMargin;
+} XfwfTogglePart;
+
+typedef struct _XfwfToggleRec {
+CorePart core;
+CompositePart composite;
+XfwfCommonPart xfwfCommon;
+XfwfFramePart xfwfFrame;
+XfwfBoardPart xfwfBoard;
+XfwfLabelPart xfwfLabel;
+XfwfButtonPart xfwfButton;
+XfwfTogglePart xfwfToggle;
+} XfwfToggleRec;
+
+externalref XfwfToggleClassRec xfwfToggleClassRec;
+
+#endif /* _XfwfToggleP_H_ */
diff -rNu xwave2-981109/include/Xfwf/VarArgs.h xwave2-991019/include/Xfwf/VarArgs.h
--- xwave2-981109/include/Xfwf/VarArgs.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/VarArgs.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,18 @@
+#ifndef _VarargsI_h_ 
+#define _VarargsI_h_ 
+
+#include <X11/Xfuncproto.h>
+
+#if NeedVarargsPrototypes
+# include <stdarg.h>
+# define Va_start(a,b) va_start(a,b)
+#else
+# include <varargs.h>
+# define Va_start(a,b) va_start(a)
+#endif
+
+#include <X11/Intrinsic.h>
+
+
+XtVarArgsList  XfwfCreateArgsList();
+#endif
diff -rNu xwave2-981109/include/Xfwf/choosecol.h xwave2-991019/include/Xfwf/choosecol.h
--- xwave2-981109/include/Xfwf/choosecol.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/choosecol.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,18 @@
+#ifndef	_choosecol_h_
+#define	_choosecol_h_
+
+/*
+ * Not really a `converter', but useful anyway:
+ * Compute a color that is `factor' lighter than `base'
+ * factor = 1.0 means same color.
+ */
+Boolean choose_color(
+#if NeedFunctionPrototypes
+    Widget self,
+    double factor,
+    Pixel base,
+    Pixel* result
+#endif
+);
+
+#endif
diff -rNu xwave2-981109/include/Xfwf/icon.h xwave2-991019/include/Xfwf/icon.h
--- xwave2-981109/include/Xfwf/icon.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/icon.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,31 @@
+#ifndef _icon_h_
+#define	_icon_h_
+
+#ifndef NO_XPM
+
+#include <X11/xpm.h>
+
+Boolean cvtStringToIcon(
+#if NeedFunctionPrototypes
+    Display *dpy,
+    XrmValue *args,
+    Cardinal *num_args,
+    XrmValue *from,
+    XrmValue *to,
+    XtPointer *converter_data
+#endif
+);
+
+/* The |Icon| type is a convenient combination of a pixmap, a mask and
+the pixmaps's attributes. Not all attributes are stored, only width
+and height. */
+
+typedef struct _Icon {
+    Pixmap pixmap;
+    Pixmap mask;
+    XpmAttributes attributes;
+} Icon;
+
+#endif /* NO_XPM */
+
+#endif
diff -rNu xwave2-981109/include/Xfwf/long.h xwave2-991019/include/Xfwf/long.h
--- xwave2-981109/include/Xfwf/long.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/long.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,15 @@
+#ifndef _long_h_
+#define	_long_h_
+
+Boolean XfwfCvtLongToString(
+#if NeedFunctionPrototypes
+    Display *display,
+    XrmValuePtr args,
+    Cardinal *num_args,
+    XrmValuePtr from,
+    XrmValuePtr to,
+    XtPointer *converter_data
+#endif
+);
+
+#endif
diff -rNu xwave2-981109/include/Xfwf/strarray.h xwave2-991019/include/Xfwf/strarray.h
--- xwave2-981109/include/Xfwf/strarray.h	Thu Jan  1 09:30:00 1970
+++ xwave2-991019/include/Xfwf/strarray.h	Fri Oct 16 13:47:53 1998
@@ -0,0 +1,67 @@
+#ifndef _strarray_h_
+#define _strarray_h_
+/*
+   StringArray
+   ===========
+   The type |StringArray| represents an array of |String|s, with the
+   proviso that by convention the last member of a |StringArray| is
+   always a |NULL| pointer. There is a converter that can construct a
+   |StringArray| from a single string.
+
+
+   cvtStringToStringArray
+   ======================
+   The converter from |String| to |StringArray| makes a copy of the
+   passed string and then replaces all occurences of the delimiter
+   with a nul byte. The |StringArray| is filled with pointers to the
+   parts of the string.
+
+   The delimiter character is the first character in the string.
+
+
+   newStringArray
+   ==============
+   The function |newStringArray| makes a copy of a |StringArray|. It
+   allocates new space for the array itself and for the strings that
+   it contains.
+
+
+   freeStringArray
+   ===============
+   |freeStringArray| deallocates the array and all strings it
+   contains. Note that this works for StringArrays produced with
+   |newStringArray|, but not for those created by
+   |cvtStringToStringArray|!
+
+*/
+
+
+typedef String * StringArray;
+
+Boolean cvtStringToStringArray(
+#if NeedFunctionPrototypes
+    Display *display,
+    XrmValuePtr args,
+    Cardinal *num_args,
+    XrmValuePtr from,
+    XrmValuePtr to,
+    XtPointer *converter_data
+#endif
+);
+
+
+StringArray newStringArray(
+#if NeedFunctionPrototypes
+    StringArray a
+#endif
+);
+
+
+void freeStringArray(
+#if NeedFunctionPrototypes
+    StringArray a
+#endif
+);
+
+
+#endif /* _strarray_h_ */
diff -rNu xwave2-981109/src/button.c xwave2-991019/src/button.c
--- xwave2-981109/src/button.c	Mon Nov  9 09:52:55 1998
+++ xwave2-991019/src/button.c	Tue Oct 19 22:26:25 1999
@@ -544,7 +544,8 @@
     last_pos=-1;
     play_status = 1;
 
-    if (md->wd->isplay) last_pos=md->wd->playbeg/md->mg->step;
+    if (md->wd->isplay) 
+      last_pos=mg_sel_leftpixel(md->mg->step,md->wd->playbeg);
 
     start_clock=clock();
     p_id=XtAppAddWorkProc(XtWidgetToApplicationContext(w),
@@ -603,7 +604,8 @@
     last_pos=-1;
     play_status = 1;
 
-    if (md->wd->isplay) last_pos=md->wd->markbeg/md->mg->step;
+    if (md->wd->isplay) 
+      last_pos=mg_sel_leftpixel(md->mg->step,md->wd->playbeg);
     
     start_clock=clock();
     p_id=XtAppAddWorkProc(XtWidgetToApplicationContext(w),
@@ -698,7 +700,8 @@
     last_pos=now_pos;
     
     if ((!md->mb->playing)||now_pos>=end) {
-      if (md->wd->isplay) set_line(md->wd->playbeg/md->mg->step);
+      if (md->wd->isplay) 
+        set_line(mg_sel_leftpixel(md->mg->step,md->wd->playbeg));
       if(!Loop)
 	return(True);
       else { 
diff -rNu xwave2-981109/src/edit.c xwave2-991019/src/edit.c
--- xwave2-981109/src/edit.c	Mon Nov  9 09:52:55 1998
+++ xwave2-991019/src/edit.c	Tue Oct 19 21:18:00 1999
@@ -53,26 +53,8 @@
 extern char begin_text[MAX_NUMLENGTH];
 extern bool button_2;
 
-/* these conversion routines are also in graphics.c */
-int mg_sel_leftsample(float step,int x)
-{
-  return(ceil(step*x-0.5));
-} 
-
-int mg_sel_rightsample(float step,int x)
-{
-  return((int)(step*(x+1)-0.5));
-} 
-
-int mg_sel_leftpixel(float step,int x)
-{
-  return((int)(((float)x+0.5)/step));
-} 
-
-int mg_sel_rightpixel(float step,int x)
-{
-  return((int)(((float)x+0.5)/step));
-} 
+/* conversion routines mg_sel_{left,right}{sample,pixel} now prototyped in */
+/* graphics.h and declared in graphics.c */
 
 
 void begin_up(Widget w, XtPointer client_data, XtPointer call_data)
diff -rNu xwave2-981109/src/graphics.h xwave2-991019/src/graphics.h
--- xwave2-981109/src/graphics.h	Mon Nov  9 09:52:55 1998
+++ xwave2-991019/src/graphics.h	Tue Oct 19 21:16:57 1999
@@ -19,3 +19,9 @@
 void zjump_canvas(Widget,XtPointer,XtPointer);
 void zscroll_canvas(Widget,XtPointer,XtPointer);
 void zoom_canvas(Main_Data *);
+
+/* Conversion routines used in graphics.c and edit.c */
+int mg_sel_leftsample(float step,int x);
+int mg_sel_rightsample(float step,int x);
+int mg_sel_leftpixel(float step,int x);
+int mg_sel_rightpixel(float step,int x);
