Esempio n. 1
0
/*
 * 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);
	}
    }
}
Esempio n. 2
0
//Plot a waveform given trigger event
void PlotEventWave(int ev, int run) {
	ftf.Open(run);
	ftf.GetEvent(ev);
	PlotWave(ftf.Fit_event.waveev, run);
}