From 0627865a8be5ccc4754e524ecbef8fe42c78e325 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 10 Sep 2014 22:02:06 +0000 Subject: hide args --- spectrogram.c | 12 ++++++------ widget.c | 47 ++++++++++++++++++++++++----------------------- widget.h | 7 ++++--- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/spectrogram.c b/spectrogram.c index 466917b..1578481 100644 --- a/spectrogram.c +++ b/spectrogram.c @@ -221,11 +221,11 @@ main(int argc, char **argv) exec_fft(ldata); exec_fft(rdata); - draw_panel(dsp, left); - draw_panel(dsp, right); + draw_panel(left); + draw_panel(right); - flip_panel(dsp, left); - flip_panel(dsp, right); + flip_panel(left); + flip_panel(right); if (fflag) XResetScreenSaver(dsp); @@ -233,8 +233,8 @@ main(int argc, char **argv) free_sio(); free_fft(); - free_panel(dsp, left); - free_panel(dsp, right); + free_panel(left); + free_panel(right); XDestroyWindow(dsp, win); XCloseDisplay(dsp); diff --git a/widget.c b/widget.c index 04d1390..3bdb49a 100644 --- a/widget.c +++ b/widget.c @@ -49,19 +49,19 @@ copy(Display *d, Drawable from, Drawable to, GC gc, XRectangle r, Drawable mask) } void -draw_panel(Display *d, struct panel *p) +draw_panel(struct panel *p) { int i, v, x; /* blit waterfall */ - blit(d, p->wf->pix, p->wf->gc, p->wf->geo); + blit(p->dsp, p->wf->pix, p->wf->gc, p->wf->geo); /* blit shadow mask */ - blit(d, p->shadow->mask, p->shadow->gc, p->shadow->geo); + blit(p->dsp, p->shadow->mask, p->shadow->gc, p->shadow->geo); /* clear spectrogram */ - clear(d, p->sp->pix, p->sp->gc, p->sp->geo); + clear(p->dsp, p->sp->pix, p->sp->gc, p->sp->geo); /* clear mask */ - clear(d, p->bg->mask, p->bg->gc, p->bg->geo); + clear(p->dsp, p->bg->mask, p->bg->gc, p->bg->geo); for (i = 0; i < p->sp->geo.width; i++) { /* limit maxval */ @@ -69,24 +69,24 @@ draw_panel(Display *d, struct panel *p) x = p->mirror ? p->sp->geo.width - i - 1 : i; /* draw waterfall */ - XSetForeground(d, p->wf->gc, p->palette[v]); - XDrawPoint(d, p->wf->pix, p->wf->gc, x, 0); + XSetForeground(p->dsp, p->wf->gc, p->palette[v]); + XDrawPoint(p->dsp, p->wf->pix, p->wf->gc, x, 0); /* draw spectrogram */ - XSetForeground(d, p->bg->gc, 1); - XDrawLine(d, p->bg->mask, p->bg->gc, + XSetForeground(p->dsp, p->bg->gc, 1); + XDrawLine(p->dsp, p->bg->mask, p->bg->gc, x, p->bg->geo.height - v, x, p->bg->geo.height); } /* copy mask to shadow mask */ - copy(d, p->bg->mask, p->shadow->mask, p->shadow->gc, p->shadow->geo, - p->bg->mask); + copy(p->dsp, p->bg->mask, p->shadow->mask, p->shadow->gc, + p->shadow->geo, p->bg->mask); /* shadow to buffer */ - copy(d, p->shadow->pix, p->sp->pix, p->sp->gc, p->sp->geo, + copy(p->dsp, p->shadow->pix, p->sp->pix, p->sp->gc, p->sp->geo, p->shadow->mask); /* spectrogram to buffer */ - copy(d, p->bg->pix, p->sp->pix, p->sp->gc, p->sp->geo, + copy(p->dsp, p->bg->pix, p->sp->pix, p->sp->gc, p->sp->geo, p->bg->mask); } @@ -98,12 +98,12 @@ flip(Display *d, struct subwin *p) } void -flip_panel(Display *d, struct panel *p) +flip_panel(struct panel *p) { /* flip spectrogram */ - flip(d, p->sp); + flip(p->dsp, p->sp); /* flip waterfall */ - flip(d, p->wf); + flip(p->dsp, p->wf); } static void @@ -184,6 +184,7 @@ init_panel(Display *d, Window win, XRectangle r, enum mirror m) p = malloc(sizeof(struct panel)); assert(p); + p->dsp = d; p->data = calloc(2 * r.width, sizeof(double)); assert(p->data); @@ -243,14 +244,14 @@ free_subwin(Display *d, struct subwin *p) } void -free_panel(Display *d, struct panel *p) +free_panel(struct panel *p) { - free_background(d, p->bg); - free_background(d, p->shadow); - free_subwin(d, p->sp); - free_subwin(d, p->wf); - XUnmapWindow(d, p->win); - XDestroyWindow(d, p->win); + free_background(p->dsp, p->bg); + free_background(p->dsp, p->shadow); + free_subwin(p->dsp, p->sp); + free_subwin(p->dsp, p->wf); + XUnmapWindow(p->dsp, p->win); + XDestroyWindow(p->dsp, p->win); free(p->palette); free(p->data); free(p); diff --git a/widget.h b/widget.h index 8642fa0..193462e 100644 --- a/widget.h +++ b/widget.h @@ -36,6 +36,7 @@ struct subwin { }; struct panel { + Display *dsp; Window win; /* container */ struct subwin *wf; struct subwin *sp; @@ -50,10 +51,10 @@ struct panel { enum mirror { LTR, RTL }; __BEGIN_DECLS -void draw_panel(Display *, struct panel *); -void flip_panel(Display *, struct panel *); struct panel *init_panel(Display *, Window, XRectangle, enum mirror); -void free_panel(Display *, struct panel *); +void draw_panel(struct panel *); +void flip_panel(struct panel *); +void free_panel(struct panel *); void toggle_mirror(struct panel *); double *dataptr(struct panel *); __END_DECLS -- cgit v1.2.3