void MLMultiSlider::resizeWidget(const MLRect& b, const int ) { // MLLookAndFeel* myLookAndFeel = (&(getRootViewResources(this).mLookAndFeel)); Component* pC = getComponent(); mPos.setBounds(b); pC->setBounds(MLToJuceRectInt(mPos.getBounds())); int s = mNumSliders; mPos.setElements(s); mPos.setGeometry(MLPositioner::kHorizontal); mPos.setSizeFlags(0);//(MLPositioner::kOnePixelOverlap); mPos.setMargin(0.); Vec2 panelSize = mPos.getElementSize(); /* // setup ImageBank mImageBank.setImages(kMLStepDisplayImages); mImageBank.setDims(panelSize[0], panelSize[1]); mImageBank.clearPanels(); for(int i = 0; i < panels; ++i) { mImageBank.addPanel(myPos.getElementPosition(i)); } */ /* // colors Colour stepOnColor (findColour (MLStepDisplay::stepOnColourId)); Colour stepOffColor (findColour (MLStepDisplay::stepOffColourId)); Colour outlineOnColor = findColour(MLLookAndFeel::outlineColor).overlaidWith(stepOnColor.withAlpha(0.5f)); Colour outlineOffColor = findColour(MLLookAndFeel::outlineColor); Colour stepColor, outlineColor; // draw images to ImageBank for (int i=0; i<kMLStepDisplayImages; ++i) { Image& img = mImageBank.getImage(i); Graphics g(img); float val = (float)i / (float)(kMLStepDisplayImages-1); stepColor = stepOffColor.overlaidWith(stepOnColor.withAlpha(val)); outlineColor = outlineOffColor.overlaidWith(outlineOnColor.withAlpha(val)); const Colour onAlphaColor = stepOnColor.withMultipliedAlpha(val); const Colour blinkerColor = stepOffColor.overlaidWith(onAlphaColor); const Colour myOutlineColor = outlineOffColor.overlaidWith(outlineOnColor.withMultipliedAlpha(val)); const float outlineThickness = 0.75f; myLookAndFeel->drawMLButtonShape (g, 0, 0, panelSize[0], panelSize[1], r, blinkerColor, myOutlineColor, outlineThickness, eMLAdornNone, 0., 0.); } */ // Component::resized(); }
void MLProgressBar::paint (Graphics& g) { const Colour fc = findColour(MLLookAndFeel::labelColor); const float progress = getFloatProperty("progress"); Path gbounds; const Rectangle<int> & boundsRect (getLocalBounds()); gbounds.addRectangle(boundsRect); MLRange xRange(0., 1., boundsRect.getX(), boundsRect.getRight()); MLRect progressRect = juceToMLRect(boundsRect); progressRect.setRight(xRange(progress)); Rectangle<int> fullRect = MLToJuceRectInt(progressRect); Path fullBounds; fullBounds.addRectangle(fullRect); g.setColour(fc); g.fillPath(fullBounds); g.strokePath(gbounds, PathStrokeType(1.0f)); }