# data file for the Fltk User Interface Designer (fluid) version 1.0010 header_name {.H} code_name {.cxx} gridx 2 gridy 2 snap 1 decl {\#include } {public } decl {\#include } {public } decl {\#include } {public } class Fl_DragBar {open : {public Fl_Widget} } { decl {int old_rx,old_ry;} {} decl {int _type;} {} decl {enum DragType {WINDRAG=0,NICEWINDRAG,FLDRAG,NICEFLDRAG};} {public } Function {Fl_DragBar(int x,int y,int w,int h,const char *l=0): Fl_Widget(x,y,w,h,l)} {open } { code {_type = Fl_DragBar::NICEFLDRAG;} {} } Function {~Fl_DragBar()} {} {} Function {draw()} {private } { code {int ww,hh; uchar r,g,b; uchar rb,gb,bb; uchar rd,gd,bd; int val; draw_box(); int x1 = x()+5; int x2 = x()+w()-5; int y1 = y()+5; int y2 = y()+h()-5; Fl::get_color(color(),r,g,b); val = (int)r + 64; rb = val > 255 ? 255:val; val = (int)g + 64; gb = val > 255 ? 255:val; val = (int)b + 64; bb = val > 255 ? 255:val; val = (int)r - 64; rd = val < 0 ? 0:val; val = (int)g - 64; gd = val < 0 ? 0:val; val = (int)b - 64; bd = val < 0 ? 0:val; if (h()show(); fl_cursor(FL_CURSOR_MOVE); if (_type < (int)Fl_DragBar::FLDRAG) { old_rx = rx - window()->x(); old_ry = ry - window()->y(); } else { old_rx = rx - parent()->x(); old_ry = ry - parent()->y(); } return 1; } case FL_RELEASE: { fl_cursor(FL_CURSOR_DEFAULT); do_callback(); return 1; } case FL_DRAG: { if ((rx != old_rx) || (ry != old_ry)) { xx = rx - old_rx; yy = ry - old_ry; if (_type < (int)Fl_DragBar::FLDRAG) { window()->position(xx,yy); } else { parent()->position(xx,yy); if (parent()->parent()) parent()->parent()->redraw(); else window()->redraw(); } } return 1; } case FL_MOVE: { return 0; } case FL_ENTER : { return 0; } case FL_LEAVE : { fl_cursor(FL_CURSOR_DEFAULT); return 1; } default : return 0; }} {} } Function {type(int t)} {} { code {_type = t;} {} } }