Mercurial > hg > dmlib
diff ppl.c @ 165:3e8e0dc30711
Minor visual improvements.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 06 Oct 2012 08:11:47 +0300 |
parents | a49d431ff40e |
children | e281663f04ba |
line wrap: on
line diff
--- a/ppl.c Sat Oct 06 08:00:34 2012 +0300 +++ b/ppl.c Sat Oct 06 08:11:47 2012 +0300 @@ -249,7 +249,7 @@ } -void dmDisplayChn(SDL_Surface *screen, int x0, int y0, int x1, int y1, JSSChannel *chn) +void dmDisplayChn(SDL_Surface *screen, int x0, int y0, int x1, int y1, int nchannel, JSSChannel *chn) { int yh = y1 - y0 - 2; if (yh < 10 || chn == NULL) @@ -258,14 +258,15 @@ int xc, ym = y0 + (y1 - y0) / 2, vol = FP_GETH(chn->chVolume); int pitch = screen->pitch / sizeof(Uint32); DMFixedPoint offs = chn->chPos; - Uint32 coln = dmCol(0.0, 0.8, 0.0); + Uint32 coln = dmCol(0.0, 0.8, 0.0), colx = dmCol(1.0, 0, 0); Uint32 *pix = screen->pixels; Sint16 *data = chn->chData; dmFillBox3D(screen, x0, y0, x1, y1, (chn->chMute ? dmCol(0.3,0.1,0.1) : dmCol(0,0,0)), - col.box2, col.box1); + nchannel == engine.actChannel ? colx : col.box2, + nchannel == engine.actChannel ? colx : col.box1); if (chn->chData == NULL || !chn->chPlaying) return; @@ -310,14 +311,17 @@ qwidth /= nwidth; qheight /= nheight; - for (nchannel = qy = 0; qy < nheight; qy++) + for (nchannel = qy = 0; qy < nheight && nchannel < jsetNChannels; qy++) { - for (qx = 0; qx < nwidth; qx++) + for (qx = 0; qx < nwidth && nchannel < jsetNChannels; qx++) { int xc = x0 + qx * qwidth, yc = y0 + qy * qheight; - dmDisplayChn(screen, xc + 1, yc + 1, xc + qwidth - 1, yc + qheight - 1, &dev->channels[nchannel]); + dmDisplayChn(screen, xc + 1, yc + 1, + xc + qwidth - 1, yc + qheight - 1, + nchannel, &dev->channels[nchannel]); + nchannel++; } }