aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2014-09-10 22:02:06 +0000
committerDimitri Sokolyuk <demon@dim13.org>2014-09-10 22:02:06 +0000
commit0627865a8be5ccc4754e524ecbef8fe42c78e325 (patch)
treeabdf6d9cf33377ae8a8215a20289af0652643b29
parent339f99bc2a023c4392f1b316cd2baeda6703d1b6 (diff)
hide args
-rw-r--r--spectrogram.c12
-rw-r--r--widget.c47
-rw-r--r--widget.h7
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