# data file for the Fltk User Interface Designer (fluid) version 2.00 header_name {.H} code_name {.cxx} gridx 5 gridy 5 snap 3 decl {\#include } {} decl {\#include } {public } class Fl_LED_Button {open : {public Fl_Light_Button} } { Function {Fl_LED_Button(int x, int y, int w, int h, const char* l=0):Fl_Light_Button(x,y,w,h,l)} {open } { code {box(FL_NO_BOX); down_box(FL_ROUND_DOWN_BOX); selection_color(FL_RED);} {} } Function {~Fl_LED_Button()} {open } {} Function {draw()} {open private } { code {uchar r,g,b; if (box()) draw_box(this==Fl::pushed() ? down(box()) : box(), color()); Fl_Color col = value() ? selection_color() : color(); Fl::get_color((Fl_Color)selection_color(),r,g,b); int d = h()/6; int W = w()color(),r,g,b); modulate(-90,r,g,b); fl_pie(x1-1,y1-1,ww+2,hh+2,0,360); Fl::get_color((Fl_Color)selection_color(),r,g,b); if (value()) modulate(-90,r,g,b); else modulate(-210,r,g,b); fl_pie(x1,y1,ww,hh,0,360); if (value()) modulate(-60,r,g,b); else modulate(-190,r,g,b); fl_pie(x1+1,y1+1,ww-2,hh-2,0,360); if (value()) modulate(-20,r,g,b); else modulate(-150,r,g,b); fl_pie(x1+1,y1+1,ww-3,hh-3,0,360); if (value()) modulate(0,r,g,b); else modulate(-130,r,g,b); fl_pie(x1+3,y1+3,ww-5,hh-5,0,360); if (value()) modulate(160,r,g,b); else modulate(-30,r,g,b); fl_arc(x1+3,y1+3,ww-5,hh-5,250,350); if (value()) modulate(250,r,g,b); else modulate(100,r,g,b); fl_pie((int)(x1+ww/2-(0.3*ww)/2),(int)(y1+ww/2-(0.3*ww)/2), (int)((0.45*ww)/2),(int)((0.45*ww)/2),0,360); fl_color(FL_BLACK); fl_arc(x1,y1,ww+1,hh+1,0,360); draw_label(x()+W-d, y(), w()-W+d, h(),labelcolor());} {selected } } Function {modulate(const int offs,const uchar r,uchar g,uchar b)} {open private } { code {int rr,gg,bb; rr = r + offs; rr = rr > 255 ? 255:rr; rr = rr < 0 ? 0:rr; gg = g + offs; gg = gg > 255 ? 255:gg; gg = gg < 0 ? 0:gg; bb = b + offs; bb = bb > 255 ? 255:bb; bb = bb < 0 ? 0:bb; fl_color((uchar)rr,(uchar)gg,(uchar)bb);} {} } }