void gMuteChannel::draw() { baseDraw(); /* print label */ fl_color(COLOR_BG_1); fl_font(FL_HELVETICA, 12); fl_draw("mute", x()+4, y(), w(), h(), (Fl_Align) (FL_ALIGN_LEFT | FL_ALIGN_CENTER)); /* draw "on" and "off" labels. Must stay in background */ fl_color(COLOR_BG_1); fl_font(FL_HELVETICA, 9); fl_draw("on", x()+4, y(), w(), h(), (Fl_Align) (FL_ALIGN_LEFT | FL_ALIGN_TOP)); fl_draw("off", x()+4, y()+h()-14, w(), h(), (Fl_Align) (FL_ALIGN_LEFT | FL_ALIGN_TOP)); /* draw on-off points. On = higher rect, off = lower rect. It always * starts with a note_off */ fl_color(COLOR_BG_2); int pxOld = x()+1; int pxNew = 0; int py = y()+h()-5; int pyDot = py-6; for (unsigned i=0; i<points.size; i++) { /* next px */ pxNew = points.at(i).x+x(); /* draw line from pxOld to pxNew. * i % 2 == 0: first point, mute_on * i % 2 != 0: second point, mute_off */ fl_line(pxOld, py, pxNew, py); pxOld = pxNew; py = i % 2 == 0 ? y()+4 : y()+h()-5; /* draw dots (handles) */ fl_line(pxNew, y()+h()-5, pxNew, y()+4); if (selectedPoint == (int) i) { fl_color(COLOR_BD_1); fl_rectf(pxNew-3, pyDot, 7, 7); fl_color(COLOR_BG_2); } else fl_rectf(pxNew-3, pyDot, 7, 7); } /* last section */ py = y()+h()-5; fl_line(pxNew+3, py, pParent->coverX+x()-1, py); }
void gActionChannel::draw() { /* draw basic boundaries (+ beat bars) and hide the unused area. Then * draw the children (the actions) */ baseDraw(); fl_rectf(parent->coverX, y()+1, parent->totalWidth-parent->coverX+x(), h()-2, COLOR_BG_1); draw_children(); }
void gActionChannel::draw() { /* draw basic boundaries (+ beat bars) and hide the unused area. Then * draw the children (the actions) */ baseDraw(); /* print label */ fl_color(COLOR_BG_1); fl_font(FL_HELVETICA, 12); if (active()) fl_draw("actions", x()+4, y(), w(), h(), (Fl_Align) (FL_ALIGN_LEFT | FL_ALIGN_CENTER)); /// FIXME h() is too much! else fl_draw("actions (disabled)", x()+4, y(), w(), h(), (Fl_Align) (FL_ALIGN_LEFT | FL_ALIGN_CENTER)); /// FIXME h() is too much! fl_rectf(pParent->coverX, y()+1, pParent->totalWidth-pParent->coverX+x(), h()-2, COLOR_BG_1); draw_children(); }
void gEnvelopeChannel::draw() { baseDraw(); /* print label */ fl_color(COLOR_BG_1); fl_font(FL_HELVETICA, 12); fl_draw(l, x()+4, y(), 80, h(), (Fl_Align) (FL_ALIGN_LEFT)); int pxOld = x()-3; int pyOld = y()+1; int pxNew = 0; int pyNew = 0; fl_color(COLOR_BG_2); for (unsigned i=0; i<points.size(); i++) { pxNew = points.at(i).x+x()-3; pyNew = points.at(i).y+y(); if (selectedPoint == (int) i) { fl_color(COLOR_BD_1); fl_rectf(pxNew, pyNew, 7, 7); fl_color(COLOR_BG_2); } else fl_rectf(pxNew, pyNew, 7, 7); if (i > 0) fl_line(pxOld+3, pyOld+3, pxNew+3, pyNew+3); pxOld = pxNew; pyOld = pyNew; } }