void ThresholdSlider::paint(Graphics& g) { ColourGradient grad = ColourGradient(Colour(40, 40, 40), 0.0f, 0.0f, Colour(80, 80, 80), 0.0, 40.0f, false); Path p; p.addPieSegment(3, 3, getWidth()-6, getHeight()-6, 5*double_Pi/4-0.2, 5*double_Pi/4+3*double_Pi/2+0.2, 0.5); g.setGradientFill(grad); g.fillPath(p); String valueString; if (isActive) { p = makeRotaryPath(getMinimum(), getMaximum(), getValue()); g.setColour(Colour(240,179,12)); g.fillPath(p); valueString = String((int) getValue()); } else { valueString = ""; for (int i = 0; i < valueArray.size(); i++) { p = makeRotaryPath(getMinimum(), getMaximum(), valueArray[i]); g.setColour(Colours::lightgrey.withAlpha(0.4f)); g.fillPath(p); valueString = String((int) valueArray.getLast()); } } font.setHeight(9.0); g.setFont(font); int stringWidth = font.getStringWidth(valueString); g.setFont(font); g.setColour(Colours::darkgrey); g.drawSingleLineText(valueString, getWidth()/2 - stringWidth/2, getHeight()/2+3); }
void ParameterSlider::paint(Graphics& g) { ColourGradient grad = ColourGradient(Colour(40, 40, 40), 0.0f, 0.0f, Colour(80, 80, 80), 0.0, 40.0f, false); Path p; p.addPieSegment(3, 3, getWidth()-6, getHeight()-6, 5*double_Pi/4-0.2, 5*double_Pi/4+3*double_Pi/2+0.2, 0.5); g.setGradientFill(grad); g.fillPath(p); //g.fillEllipse(3, 3, getWidth()-6, getHeight()-6); //g.setColour(Colours::lightgrey); //g.fillEllipse(12, 12, getWidth()-24, getHeight()-24); p = makeRotaryPath(getMinimum(), getMaximum(), getValue()); if (isEnabled) g.setColour(Colour(240,179,12)); else g.setColour(Colour(75,75,75)); g.fillPath(p); //g.setColour(Colours::darkgrey); font.setHeight(9.0); g.setFont(font); String valueString = String( (int) getValue()); int stringWidth = font.getStringWidth(valueString); g.setFont(font); g.setColour(Colours::darkgrey); g.drawSingleLineText(valueString, getWidth()/2 - stringWidth/2, getHeight()/2+3); }