aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2014-09-04 20:18:01 +0000
committerDimitri Sokolyuk <demon@dim13.org>2014-09-04 20:18:01 +0000
commit5ccb2e23039aa914d864bde51136b3ccf1a808be (patch)
treef89ed5d78c2f17f6f52488c30c06fb562ce59c6e
parent7fe8d25757e9d34e6b024bb7eeba31a24ef9720d (diff)
fix shadow, split things
-rw-r--r--spectrogram.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/spectrogram.c b/spectrogram.c
index 4fcc31e..d5b3408 100644
--- a/spectrogram.c
+++ b/spectrogram.c
@@ -151,17 +151,21 @@ usage(void)
}
void
+blit(Display *d, Drawable p, GC gc, XRectangle r)
+{
+ XCopyArea(d, p, p, gc, 0, 0, r.width, r.height - 1, 0, 1);
+}
+
+void
draw_panel(Display *d, struct panel *p)
{
int i, v, x;
/* blit waterfall */
- XCopyArea(d, p->wf->pix, p->wf->pix, p->wf->gc,
- 0, 0, p->wf->geo.width, p->wf->geo.height - 1, 0, 1);
-
+ blit(d, p->wf->pix, p->wf->gc, p->wf->geo);
/* blit shadow mask */
- XCopyArea(d, p->shadow->mask, p->shadow->mask, p->shadow->gc,
- 0, 0, p->shadow->geo.width, p->shadow->geo.height - 1, 0, 1);
+ blit(d, p->shadow->mask, p->shadow->gc, p->shadow->geo);
+
/* clear spectrogram */
XSetForeground(d, p->sp->gc, p->palette[0]);
@@ -190,7 +194,7 @@ draw_panel(Display *d, struct panel *p)
}
/* copy mask to shadow mask */
- XSetClipMask(d, p->shadow->gc, p->shadow->mask);
+ XSetClipMask(d, p->shadow->gc, p->bg->mask);
XCopyArea(d, p->bg->mask, p->shadow->mask, p->shadow->gc,
0, 0, p->bg->geo.width, p->bg->geo.height, 0, 0);
XSetClipMask(d, p->shadow->gc, None);