/* * UpdatePlotTrack updates the plot in a specific track window. */ void UpdatePlotTrack(int itrc, Track *trk) { int k,i; XPoint *plot, *points; Trace *trc= traces[itrc]; if (trc && trc->wave) { float *data= trc->wave->data; if (trc->axis_needScale) { RescaleTrace(trc, trk->height, trk->width); trc->axis_needScale=0; /* no need now */ } /* no clipping, no yoffset */ if (Mode_decimPlot) { PlotWave_decim(trc, &trc->axis, trk->width, trk->height, trk->xwin, trk->gc, 0, 0, itrc); }else { PlotWave(trc, &trc->axis, trk->width, trk->height, trk->xwin, trk->gc, 0, 0, itrc); } /* update zoom track marks, if any */ if (ZoomWindowMapped && (itrc>=lowZTrkIndex) && (itrc<=highZTrkIndex)){ /* now zoomed */ UpdateZTrkMark(itrc, trc, trk); } if (InTrkRange(itrc)) { /* update picks */ DrawPicks(trc->picks, itrc); /* update marked interval(s) */ UpdateInterval(itrc); } } }
//Plot a waveform given trigger event void PlotEventWave(int ev, int run) { ftf.Open(run); ftf.GetEvent(ev); PlotWave(ftf.Fit_event.waveev, run); }