void Select( unsigned char ch ) { switch (ch ) { case 'a': Icicle(6,9 , 6); break; case 'b': Sparkler( 100,1,8 ,0); break; case 'c': Sparkler(100,1,8 ,1); break; case 'd': StripLights_DisplayClear( StripLights_LTGREEN ); break; case 'e': StripLights_DisplayClear( StripLights_WHITE ); break; case 'f': StripLights_DisplayClear( StripLights_BLUE ); break; case 'g': SingleLEDPingPong(1 ,6, getColor(rand()%StripLights_COLOR_WHEEL_SIZE)); break; case 'h': Tween1(); break; case 'i': ColorFader(1, getColor(rand()%StripLights_COLOR_WHEEL_SIZE)); break; case 'j': CandyCane(5, StripLights_RED, StripLights_WHITE ); break; case 'k': Snake(5); break; case 'l': ColorWheel(10); break; case 'm': CandyCane(5, getColor(rand()%StripLights_COLOR_WHEEL_SIZE), StripLights_WHITE ); break; case 'n': CandyCaneSmooth(5, (led_color)getColor(rand()%StripLights_COLOR_WHEEL_SIZE), (led_color)getColor(rand()%StripLights_COLOR_WHEEL_SIZE) ); break; case '0': CySoftwareReset(); break; } }
static int wheel_e_h(GWindow gw, GEvent *event) { struct gcol_data *d = GDrawGetUserData(gw); GRect size; if ( event->type==et_expose ) { GRect circle; GDrawGetSize(d->wheelw,&size); if ( d->wheel==NULL || GImageGetHeight(d->wheel)!=size.height || GImageGetWidth(d->wheel)!=size.width ) { if ( d->wheel!=NULL ) GImageDestroy(d->wheel); d->wheel = ColorWheel(size.width,size.height); } GDrawDrawImage(gw,d->wheel,NULL,0,0); if ( d->col.hsv ) { double s = sin(d->col.h*3.1415926535897932/180.); double c = cos(d->col.h*3.1415926535897932/180.); int y = (int) rint(d->col.s*(size.height-1)*s/2.0) + size.height/2; int x = (int) rint(d->col.s*(size.width-1)*c/2.0) + size.width/2; circle.x = x-3; circle.y = y-3; circle.width = circle.height = 7; GDrawDrawElipse(gw,&circle,0x000000); } } else if ( event->type == et_mousedown || (event->type==et_mousemove && d->pressed) || event->type==et_mouseup ) { Color rgb; struct hslrgba temp; GDrawGetSize(d->wheelw,&size); if ( event->u.mouse.y>=0 && event->u.mouse.y<size.height && event->u.mouse.x>=0 && event->u.mouse.x<size.width ) { rgb = GImageGetPixelRGBA(d->wheel,event->u.mouse.x,event->u.mouse.y); temp.r = ((rgb>>16)&0xff)/255.; temp.g = ((rgb>>8)&0xff)/255.; temp.b = ((rgb )&0xff)/255.; gRGB2HSV((struct hslrgb *) &temp); d->col.h = temp.h; d->col.s = temp.s; GCol_ShowTexts(d); GDrawRequestExpose(d->colw,NULL,false); GDrawRequestExpose(d->wheelw,NULL,false); }
void GlPlanes::Fill(GlFillType ft) { if (w < 1 || h < 1) return; if (ft == GL_FILL_BLACK) Black(); else if (ft == GL_FILL_COLORWHEEL) ColorWheel(0, 0, w-1, h-1); }