mikew@wyse.wyse.com (Mike Wexler) (10/15/88)
Submitted-by: gatech.edu!gt-eedsp!jensen Posting-number: Volume 2, Issue 3 Archive-name: xscope/part02 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 2)." # Contents: DeleteSignal.c GCInit.c InitData.c MapSample.c Mark.c # NewEnd.c NewStart.c Quit.c QuitPane.c Scope.c Scrolled.c # SetThumbShown.c SetThumbTop.c Syntax.c Thumbed.c Thumbed2.c # UnMark.c WriteMSignal.c WriteSignal.c Zoom.c # Wrapped by mikew@wyse on Fri Oct 14 11:39:50 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'DeleteSignal.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'DeleteSignal.c'\" else echo shar: Extracting \"'DeleteSignal.c'\" \(920 characters\) sed "s/^X//" >'DeleteSignal.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid DeleteSignal(widget, pane, callData) X Widget widget; X sigbox *pane; X caddr_t callData; X{ X int fd,mask,nbytes,ldata,rdata,nsamp; X float top,shown; X char snsamp[30]; X Arg arg[4]; X X if( pane->s == NULL ) return; X ldata = pane->lmark * sizeof(short); X rdata = pane->rmark * sizeof(short); X nbytes = pane->s->sig_len - rdata; X bcopy(&pane->s->sig_data[rdata], X &pane->s->sig_data[ldata], nbytes); X pane->s->sig_nsamp -= pane->rmark - pane->lmark + 1; X pane->lmark = pane->first; X pane->last -= pane->rmark - pane->lmark + 1; X pane->rmark = pane->last; X sprintf(snsamp,"%d Samples", pane->s->sig_nsamp); X XtSetArg(arg[0], XtNlabel, snsamp ); X XtSetValues( pane->text_nsamp, arg, ONE ); X sprintf(snsamp,"%d", pane->s->sig_nsamp); X XtSetValues( pane->endval, arg, ONE ); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X} END_OF_FILE if test 920 -ne `wc -c <'DeleteSignal.c'`; then echo shar: \"'DeleteSignal.c'\" unpacked with wrong size! fi # end of 'DeleteSignal.c' fi if test -f 'GCInit.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'GCInit.c'\" else echo shar: Extracting \"'GCInit.c'\" \(751 characters\) sed "s/^X//" >'GCInit.c' <<'END_OF_FILE' X#include "xsignal.h" X Xstatic GC makegc(op, canvas, display, gc) X long op; X Widget canvas; X Display *display; X GC gc; X{ X register GC ngc; X XGCValues gcv; X X ngc = XCreateGC(display, XtWindow(canvas), 0, &gcv); X XCopyGC(display, gc, ~0, ngc); X XSetFunction(display, ngc, op); X return (ngc); X} X Xgc_init(pane) X sigbox *pane; X{ X Display *display; X GC gc; X X display = XtDisplay(pane->toplevel); X gc = DefaultGC(display, DefaultScreen(display)); X pane->gccache[PAINT] = makegc(PAINT, pane->canvas, display, gc); X pane->gccache[ERASE] = makegc(ERASE, pane->canvas, display, gc); X pane->gccache[INV_PAINT] = makegc(INV_PAINT, pane->canvas, display, gc); X pane->gccache[MERGE] = makegc(MERGE, pane->canvas, display, gc); X} END_OF_FILE if test 751 -ne `wc -c <'GCInit.c'`; then echo shar: \"'GCInit.c'\" unpacked with wrong size! fi chmod +x 'GCInit.c' # end of 'GCInit.c' fi if test -f 'InitData.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'InitData.c'\" else echo shar: Extracting \"'InitData.c'\" \(886 characters\) sed "s/^X//" >'InitData.c' <<'END_OF_FILE' X#include "xsignal.h" X Xvoid init_data(pane) X sigbox *pane; X{ X static XtCallbackRec callback[2]; /* K&R: initialized to NULL */ X static XtCallbackRec thumbcall[2]; /* K&R: initialized to NULL */ X float shown,top; X Widget box,data; X int narg; X Arg arg[10]; X X narg = 0; X XtSetArg( arg[narg], XtNvertPane, TRUE ); narg++; X XtSetArg( arg[narg], XtNwidth, 150 ); narg++; X XtSetArg( arg[narg], XtNheight, 2*MENUHIGH); narg++; X data = XtCreateManagedWidget("data", menuPaneWidgetClass, X pane->box, arg, narg); X X narg = 0; X XtSetArg( arg[narg], XtNlabel, "0 Samples"); narg++; X pane->text_nsamp = XtCreateManagedWidget( "label", labelWidgetClass, X data, arg, narg ); X X narg = 0; X XtSetArg( arg[narg], XtNlabel, "Sample -1 Value 0"); narg++; X pane->picksamp = XtCreateManagedWidget( "label", labelWidgetClass, X data, arg, narg ); X} END_OF_FILE if test 886 -ne `wc -c <'InitData.c'`; then echo shar: \"'InitData.c'\" unpacked with wrong size! fi # end of 'InitData.c' fi if test -f 'MapSample.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'MapSample.c'\" else echo shar: Extracting \"'MapSample.c'\" \(885 characters\) sed "s/^X//" >'MapSample.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid MapSample(pane,x,y,snum,sval) X sigbox *pane; X int x,y,*snum,*sval; X{ X int height,width, nsamp, halfheight, maxsamp; X int start_samp, end_samp; X short *data; X Arg args[3]; X X#define Sig pane->s X#define Canvas pane->canvas X X if(Sig == NULL) { X *snum = -1; X *sval = 0; X return; X } X X XtSetArg(args[0], XtNwidth, &width); X XtSetArg(args[1], XtNheight, &height); X XtGetValues(Canvas, args, TWO); X start_samp = pane->first; X end_samp = pane->last; X nsamp = end_samp - start_samp + 1; X X data = ((short *) Sig->sig_data); X end_samp = start_samp + nsamp - 1; X /* Truncate so point range looks like | * | * | */ X /* Rounding would yield |* |* | */ X *snum = ((float)start_samp) + (((float) x)*((float)nsamp))/((float)width) + .5; X *sval = data[*snum]; X return; X} END_OF_FILE if test 885 -ne `wc -c <'MapSample.c'`; then echo shar: \"'MapSample.c'\" unpacked with wrong size! fi # end of 'MapSample.c' fi if test -f 'Mark.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Mark.c'\" else echo shar: Extracting \"'Mark.c'\" \(951 characters\) sed "s/^X//" >'Mark.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Mark(pane,snum) X sigbox *pane; X long snum; X{ X int x1,y1,x2,y2,i, oldx1, hincr, nscan; X int height,width, start_samp, nsamp, halfheight, maxsamp; X float xincr, x; X short *data; X char sstart[30], slast[30]; X XPoint *vlist; X Arg args[3]; X X#define Sig pane->s X#define Start pane->sb_start X#define Last pane->sb_last X#define Canvas pane->canvas X#define GCCache pane->gccache X X if(Sig == NULL) return; X X XtSetArg(args[0], XtNwidth, &width); X XtSetArg(args[1], XtNheight, &height); X XtGetValues(Canvas, args, TWO); X start_samp = pane->first; X nsamp = pane->last - pane->first + 1; X X if( start_samp > (Sig->sig_nsamp-2)) start_samp = Sig->sig_nsamp-2; X if(nsamp < 2) nsamp = 2; X xincr = ((float) width) / ((float) nsamp); X X x1=xincr*(snum-start_samp) ; y1=height; x2=x1; y2=1; X XDrawLine(XtDisplay(Canvas), XtWindow(Canvas), GCCache[PAINT], x1,y1,x2,y2); X} END_OF_FILE if test 951 -ne `wc -c <'Mark.c'`; then echo shar: \"'Mark.c'\" unpacked with wrong size! fi # end of 'Mark.c' fi if test -f 'NewEnd.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'NewEnd.c'\" else echo shar: Extracting \"'NewEnd.c'\" \(764 characters\) sed "s/^X//" >'NewEnd.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid NewEnd(button, pane, dummy) X Widget button; X sigbox *pane; X caddr_t dummy; X{ X Arg args[2]; X char *newvalue, actval[40]; X float percent; X X newvalue = XtDialogGetValueString( XtParent(button)); X sscanf(newvalue,"%d",&(pane->last)); X if(pane->first >= pane->last) pane->last = pane->first+1; X if( pane->last >= pane->s->sig_nsamp ) pane->last = pane->s->sig_nsamp - 1; X percent = ((float) pane->last) / ((float) pane->s->sig_nsamp); X SetThumbTop(pane->sb_last, percent); X SetThumbShown(pane->sb_start, percent); X sprintf(actval,"%d",pane->last); X XtSetArg( args[0], XtNlabel, actval); X XtSetValues( pane->endval, args, ONE); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X} END_OF_FILE if test 764 -ne `wc -c <'NewEnd.c'`; then echo shar: \"'NewEnd.c'\" unpacked with wrong size! fi # end of 'NewEnd.c' fi if test -f 'NewStart.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'NewStart.c'\" else echo shar: Extracting \"'NewStart.c'\" \(695 characters\) sed "s/^X//" >'NewStart.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid NewStart(button, pane, dummy) X Widget button; X sigbox *pane; X caddr_t dummy; X{ X Arg args[2]; X float percent; X char *newvalue, actval[40]; X X newvalue = XtDialogGetValueString( XtParent(button)); X sscanf(newvalue,"%d",&(pane->first)); X if( pane->first < 0 ) pane->first = 0; X if( pane->first >= pane->last ) pane->first = pane->last - 1; X percent = ((float) pane->first) / ((float) pane->s->sig_nsamp); X SetThumbTop(pane->sb_start, percent); X sprintf(actval,"%d",pane->first); X XtSetArg( args[0], XtNlabel, actval); X XtSetValues( pane->startval, args, ONE); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X} END_OF_FILE if test 695 -ne `wc -c <'NewStart.c'`; then echo shar: \"'NewStart.c'\" unpacked with wrong size! fi # end of 'NewStart.c' fi if test -f 'Quit.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Quit.c'\" else echo shar: Extracting \"'Quit.c'\" \(204 characters\) sed "s/^X//" >'Quit.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Quit(widget,closure,callData) X Widget widget; X caddr_t closure; /* Widget */ X caddr_t callData; X{ X XtDestroyWidget((Widget)closure); X exit(1); X} X END_OF_FILE if test 204 -ne `wc -c <'Quit.c'`; then echo shar: \"'Quit.c'\" unpacked with wrong size! fi # end of 'Quit.c' fi if test -f 'QuitPane.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'QuitPane.c'\" else echo shar: Extracting \"'QuitPane.c'\" \(149 characters\) sed "s/^X//" >'QuitPane.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid QuitPane(widget,pane,callData) X Widget widget; X sigbox *pane; X caddr_t callData; X{ X exit(0); X} END_OF_FILE if test 149 -ne `wc -c <'QuitPane.c'`; then echo shar: \"'QuitPane.c'\" unpacked with wrong size! fi # end of 'QuitPane.c' fi if test -f 'Scope.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Scope.c'\" else echo shar: Extracting \"'Scope.c'\" \(633 characters\) sed "s/^X//" >'Scope.c' <<'END_OF_FILE' X#include "xsignal.h" X/* ARGSUSED */ Xvoid Scope(scrollbar, toplevel, percent) X Widget scrollbar; X Widget toplevel; X float percent; X{ X Arg arg[5]; X sigbox *sigpane; X X sigpane = (sigbox *) calloc(1, sizeof(sigbox)); X sigpane->toplevel = XtCreateApplicationShell( "xscope", X topLevelShellWidgetClass, arg, NULL ); X sigpane->outer = XtCreateManagedWidget( "vpaned", X vPanedWidgetClass, sigpane->toplevel, arg, NULL ); X sigpane->box = XtCreateManagedWidget( "signal", X boxWidgetClass, sigpane->outer, arg, NULL ); X init_signal( sigpane ); X XtRealizeWidget(sigpane->toplevel); X gc_init(sigpane); X} END_OF_FILE if test 633 -ne `wc -c <'Scope.c'`; then echo shar: \"'Scope.c'\" unpacked with wrong size! fi # end of 'Scope.c' fi if test -f 'Scrolled.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Scrolled.c'\" else echo shar: Extracting \"'Scrolled.c'\" \(874 characters\) sed "s/^X//" >'Scrolled.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Scrolled(scrollbar, pane, position) X Widget scrollbar; X sigbox *pane; X int position; X{ X float percent; X int length; X int nsamp; X char labelval[40]; X Arg args[2]; X X XtSetArg(args[0], XtNlength, &length); X XtGetValues(scrollbar, args, ONE); X percent = ((float) abs(position)) / ((float) (length)); X SetThumbTop( scrollbar, percent ); X if(pane->s != NULL) { X nsamp = percent * ((float) pane->s->sig_nsamp); X pane->first = nsamp; X if( pane->first >= pane->last ) pane->first = pane->last - 1; X sprintf(&labelval[0],"%d",nsamp); X XtSetArg( args[0], XtNlabel, &labelval[0]); X XtSetValues( pane->startval, args, ONE); X sprintf(&labelval[0],"%d",nsamp); X XtSetArg( args[0], XtNlabel, &labelval[0]); X XtSetValues( pane->endval, args, ONE); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X } X} END_OF_FILE if test 874 -ne `wc -c <'Scrolled.c'`; then echo shar: \"'Scrolled.c'\" unpacked with wrong size! fi # end of 'Scrolled.c' fi if test -f 'SetThumbShown.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'SetThumbShown.c'\" else echo shar: Extracting \"'SetThumbShown.c'\" \(275 characters\) sed "s/^X//" >'SetThumbShown.c' <<'END_OF_FILE' X#include "xsignal.h" X XSetThumbShown(scrollbar,thumbsize) XWidget scrollbar; Xfloat thumbsize; X{ X float top; X int length; X Arg args[2]; X X XtSetArg(args[0], XtNtop, &top); X XtGetValues(scrollbar, args, ONE); X XtScrollBarSetThumb( scrollbar, top, thumbsize ); X} END_OF_FILE if test 275 -ne `wc -c <'SetThumbShown.c'`; then echo shar: \"'SetThumbShown.c'\" unpacked with wrong size! fi # end of 'SetThumbShown.c' fi if test -f 'SetThumbTop.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'SetThumbTop.c'\" else echo shar: Extracting \"'SetThumbTop.c'\" \(275 characters\) sed "s/^X//" >'SetThumbTop.c' <<'END_OF_FILE' X#include "xsignal.h" X XSetThumbTop(scrollbar,top) XWidget scrollbar; Xfloat top; X{ X float thumbsize; X int length; X Arg args[2]; X X XtSetArg(args[0], XtNshown, &thumbsize); X XtGetValues(scrollbar, args, ONE); X XtScrollBarSetThumb( scrollbar, top, thumbsize ); X} END_OF_FILE if test 275 -ne `wc -c <'SetThumbTop.c'`; then echo shar: \"'SetThumbTop.c'\" unpacked with wrong size! fi # end of 'SetThumbTop.c' fi if test -f 'Syntax.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Syntax.c'\" else echo shar: Extracting \"'Syntax.c'\" \(121 characters\) sed "s/^X//" >'Syntax.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Syntax(call) Xchar *call; X{ X fprintf(stderr,"%s: Invalid Syntax\n", call); X} END_OF_FILE if test 121 -ne `wc -c <'Syntax.c'`; then echo shar: \"'Syntax.c'\" unpacked with wrong size! fi # end of 'Syntax.c' fi if test -f 'Thumbed.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Thumbed.c'\" else echo shar: Extracting \"'Thumbed.c'\" \(652 characters\) sed "s/^X//" >'Thumbed.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Thumbed(scrollbar, pane, percent) X Widget scrollbar; X sigbox *pane; X float percent; X{ X Arg args[2]; X int nsamp; X char labelval[40]; X X if(pane->s != NULL) { X nsamp = percent * ((float) pane->s->sig_nsamp); X pane->first = nsamp; X if( pane->first >= pane->last ) pane->first = pane->last - 1; X sprintf(&labelval[0], "%d",nsamp); X XtSetArg( args[0], XtNlabel, &labelval[0]); X XtSetValues( pane->startval, args, ONE); X sprintf(&labelval[0], "%d",nsamp); X XtSetArg( args[0], XtNlabel, &labelval[0]); X XtSetValues( pane->endval, args, ONE); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X } X} END_OF_FILE if test 652 -ne `wc -c <'Thumbed.c'`; then echo shar: \"'Thumbed.c'\" unpacked with wrong size! fi # end of 'Thumbed.c' fi if test -f 'Thumbed2.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Thumbed2.c'\" else echo shar: Extracting \"'Thumbed2.c'\" \(724 characters\) sed "s/^X//" >'Thumbed2.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Thumbed2(scrollbar, pane, percent) X Widget scrollbar; X sigbox *pane; X float percent; X{ X int nsamp; X char labelval[40]; X Arg args[2]; X X SetThumbShown( pane->sb_start, percent); X if(pane->s != NULL) { X nsamp = percent * (pane->s->sig_nsamp); X if( pane->first >= nsamp ) nsamp = pane->first + 1; X if( nsamp >= pane->s->sig_nsamp ) nsamp = pane->s->sig_nsamp - 1; X pane->last = nsamp; X percent = ((float) nsamp) / ((float) pane->s->sig_nsamp); X SetThumbShown( pane->sb_start, percent); X sprintf(&labelval[0], "%d",nsamp); X XtSetArg( args[0], XtNlabel, &labelval[0]); X XtSetValues( pane->endval, args, ONE); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X } X} END_OF_FILE if test 724 -ne `wc -c <'Thumbed2.c'`; then echo shar: \"'Thumbed2.c'\" unpacked with wrong size! fi # end of 'Thumbed2.c' fi if test -f 'UnMark.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'UnMark.c'\" else echo shar: Extracting \"'UnMark.c'\" \(953 characters\) sed "s/^X//" >'UnMark.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid UnMark(pane,snum) X sigbox *pane; X long snum; X{ X int x1,y1,x2,y2,i, oldx1, hincr, nscan; X int height,width, start_samp, nsamp, halfheight, maxsamp; X float xincr, x; X short *data; X char sstart[30], slast[30]; X XPoint *vlist; X Arg args[3]; X X#define Sig pane->s X#define Start pane->sb_start X#define Last pane->sb_last X#define Canvas pane->canvas X#define GCCache pane->gccache X X if(Sig == NULL) return; X X XtSetArg(args[0], XtNwidth, &width); X XtSetArg(args[1], XtNheight, &height); X XtGetValues(Canvas, args, TWO); X start_samp = pane->first; X nsamp = pane->last - pane->first + 1; X X if( start_samp > (Sig->sig_nsamp-2)) start_samp = Sig->sig_nsamp-2; X if(nsamp < 2) nsamp = 2; X xincr = ((float) width) / ((float) nsamp); X X x1=xincr*(snum-start_samp) ; y1=height; x2=x1; y2=1; X XDrawLine(XtDisplay(Canvas), XtWindow(Canvas), GCCache[ERASE], x1,y1,x2,y2); X} END_OF_FILE if test 953 -ne `wc -c <'UnMark.c'`; then echo shar: \"'UnMark.c'\" unpacked with wrong size! fi # end of 'UnMark.c' fi if test -f 'WriteMSignal.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'WriteMSignal.c'\" else echo shar: Extracting \"'WriteMSignal.c'\" \(756 characters\) sed "s/^X//" >'WriteMSignal.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid WriteMarkedSignal(widget, pane, callData) X Widget widget; X sigbox *pane; X caddr_t callData; X{ X char *signalfile; X short *data; X int fd,mask,nbytes; X float top,shown; X char snsamp[30]; X Arg arg[4]; X X signalfile = XtDialogGetValueString( XtParent(widget)); X mask = 0644; X if( (fd = open(signalfile,O_RDWR | O_CREAT,mask)) == -1) { X perror(signalfile); X fprintf(stderr,"Signal file '%s' cannot be opened\n",signalfile); X return; X } X data = ((short *) pane->s->sig_data) + pane->lmark; X nbytes = (pane->rmark - pane->lmark + 1) * sizeof(short); X write(fd, (char *) data, nbytes); X close(fd); X XtDestroyWidget(pane->file); X pane->file = (Widget) NULL; X} END_OF_FILE if test 756 -ne `wc -c <'WriteMSignal.c'`; then echo shar: \"'WriteMSignal.c'\" unpacked with wrong size! fi # end of 'WriteMSignal.c' fi if test -f 'WriteSignal.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'WriteSignal.c'\" else echo shar: Extracting \"'WriteSignal.c'\" \(723 characters\) sed "s/^X//" >'WriteSignal.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid WriteSignal(widget, pane, callData) X Widget widget; X sigbox *pane; X caddr_t callData; X{ X char *signalfile; X short *data; X int fd,mask,nbytes; X float top,shown; X char snsamp[30]; X Arg arg[4]; X X signalfile = XtDialogGetValueString( XtParent(widget)); X mask = 0644; X if( (fd = open(signalfile,O_RDWR | O_CREAT,mask)) == -1) { X perror(signalfile); X fprintf(stderr,"Signal file '%s' cannot be opened\n",signalfile); X return; X } X data = ((short *) pane->s->sig_data); X nbytes = pane->s->sig_nsamp * sizeof(short); X write(fd, (char *) data, nbytes); X close(fd); X XtDestroyWidget(pane->file); X pane->file = (Widget) NULL; X} END_OF_FILE if test 723 -ne `wc -c <'WriteSignal.c'`; then echo shar: \"'WriteSignal.c'\" unpacked with wrong size! fi # end of 'WriteSignal.c' fi if test -f 'Zoom.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Zoom.c'\" else echo shar: Extracting \"'Zoom.c'\" \(935 characters\) sed "s/^X//" >'Zoom.c' <<'END_OF_FILE' X#include "xsignal.h" X X/* ARGSUSED */ Xvoid Zoom(widget, pane, callData) X Widget widget; X sigbox *pane; X caddr_t callData; X{ X char *signalfile; X int fd,mask; X float top,shown; X char snsamp[30]; X Arg arg[4]; X X if( pane->s == NULL ) return; X pane->first = pane->lmark; X pane->last = pane->rmark; X sprintf(snsamp,"%d", pane->first); X XtSetArg( arg[0], XtNlabel, snsamp ); X XtSetValues( pane->startval, arg, ONE ); X sprintf(snsamp,"%d", pane->last); X XtSetArg( arg[0], XtNlabel, snsamp ); X XtSetValues( pane->endval, arg, ONE ); X top = ((float) pane->first) / ((float) pane->s->sig_nsamp); X shown = ((float) pane->last) / ((float) pane->s->sig_nsamp); X SetThumbTop(pane->sb_start, top); X SetThumbShown(pane->sb_start, shown); X top = ((float) pane->last) / ((float) pane->s->sig_nsamp); X SetThumbTop(pane->sb_last, top); X XtCallCallbacks(pane->draw,XtNcallback,NULL); X} END_OF_FILE if test 935 -ne `wc -c <'Zoom.c'`; then echo shar: \"'Zoom.c'\" unpacked with wrong size! fi # end of 'Zoom.c' fi echo shar: End of archive 2 \(of 2\). cp /dev/null ark2isdone MISSING="" for I in 1 2 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked both archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Mike Wexler(wyse!mikew) Phone: (408)433-1000 x1330 Moderator of comp.sources.x