Mixer: Improve spatializer appearance.

This commit is contained in:
Jonathan Moore Liles 2010-02-12 04:20:43 -06:00
parent 474ad167ed
commit 1fa23f1a76
1 changed files with 23 additions and 4 deletions

View File

@ -145,7 +145,24 @@ Panner::draw ( void )
tw -= b * 2; tw -= b * 2;
th -= b * 2; th -= b * 2;
fl_arc( tx, ty, tw, th, 0, 360 ); /* draw perimeter */
{
Fl_Color c = FL_RED;
const int iter = 8;
for ( int i = iter; i--; )
{
fl_color( c );
fl_arc( tx + (i * (tw / iter)) / 2, ty + (i * (th / iter)) / 2, tw - (i * (tw / iter)), th - (i * ( th / iter )), 0, 360 );
c = fl_color_average( FL_RED, FL_GRAY, (float)i / iter);
}
}
/* fl_color( FL_WHITE ); */
/* fl_arc( tx, ty, tw, th, 0, 360 ); */
if ( _configs[ _outs ][0] >= 0 ) if ( _configs[ _outs ][0] >= 0 )
{ {
@ -253,7 +270,12 @@ Panner::handle ( int m )
return 0; return 0;
case FL_RELEASE: case FL_RELEASE:
drag = NULL; drag = NULL;
do_callback();
return 1; return 1;
case FL_MOUSEWHEEL:
{
/* TODO: place point on opposite face of sphere */
}
case FL_DRAG: case FL_DRAG:
{ {
float X = Fl::event_x() - x(); float X = Fl::event_x() - x();
@ -267,9 +289,6 @@ Panner::handle ( int m )
/* else */ /* else */
drag->angle( (float)(X / (tw / 2)) - 1.0f, (float)(Y / (th / 2)) - 1.0f ); drag->angle( (float)(X / (tw / 2)) - 1.0f, (float)(Y / (th / 2)) - 1.0f );
printf( "%f %f\n", drag->a, drag->d );
redraw(); redraw();
return 1; return 1;