home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume2 / xscope / part01 / Scrolled2.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-28  |  954 b   |  34 lines

  1. #include "xsignal.h"
  2.  
  3. /* ARGSUSED */
  4. void Scrolled2(scrollbar, pane, position)
  5.     Widget scrollbar;
  6.     sigbox *pane;
  7.     int position;
  8. {
  9.     float percent;
  10.     float thumbsize,top;
  11.     int length,nsamp;
  12.     char labelval[40];
  13.     Arg args[3];
  14.  
  15.     XtSetArg(args[0], XtNlength, &length);
  16.     XtGetValues(scrollbar, args, ONE);
  17.     percent = ((float) abs(position)) / ((float) (length));
  18.     SetThumbTop( scrollbar, percent );
  19.     SetThumbShown( pane->sb_start, percent );
  20.  
  21.     if(pane->s != NULL) {
  22.     nsamp = percent * (pane->s->sig_nsamp);
  23.     if( pane->first >= nsamp ) nsamp = pane->first + 1;
  24.     if( nsamp > pane->s->sig_nsamp) nsamp = pane->s->sig_nsamp;
  25.     percent = ((float) nsamp) / ((float) pane->s->sig_nsamp);
  26.     SetThumbShown( pane->sb_start, percent );
  27.     pane->last = nsamp;
  28.     sprintf(&labelval[0], "%d",nsamp);
  29.     XtSetArg( args[0], XtNlabel, &labelval[0]);
  30.     XtSetValues( pane->endval, args, ONE);
  31.     XtCallCallbacks(pane->draw,XtNcallback,NULL);
  32.     }
  33. }
  34.