void the_bar(t_env *env) { glBegin(GL_QUADS); if (col_bar(env)) col_from_where(env); glVertex2f(-0.1f + env->bar, -0.92f); glVertex2f(0.1f + env->bar, -0.92f); glVertex2f(0.1f + env->bar, -0.96f); glVertex2f(-0.1f + env->bar, -0.96f); glEnd(); }
void VUMeter::paintBar() { QPainter painter(this); painter.setWindow(0, 0, 50, 500); painter.setRenderHint(QPainter::HighQualityAntialiasing); QLinearGradient linGrad(25, 0, 25, 500); linGrad.setColorAt(0, colHigh); linGrad.setColorAt(1, colLow); linGrad.setSpread(QGradient::PadSpread); painter.setBrush(linGrad); // draw color bar QRectF col_bar(10, 50, 30, 400); painter.drawRect(col_bar); // draw background bar painter.setBrush(QColor(40, 40, 40)); int length = 400.0; int bar = abs(length*(min-val)/(max-min)); QRectF back_bar(10, 50, 30, 400-bar); painter.drawRect(back_bar); }