void NTLookAndFeel::drawLabel(juce::Graphics &g, juce::Label &label){ g.fillAll (label.findColour (Label::backgroundColourId)); if (! label.isBeingEdited()) { const float alpha = label.isEnabled() ? 1.0f : 0.5f; const Font font (getLabelFont (label)); g.setColour (label.findColour (Label::textColourId).withMultipliedAlpha (alpha)); g.setFont (font); Rectangle<int> textArea (label.getBorderSize().subtractedFrom (label.getLocalBounds())); g.drawFittedText (label.getText(), textArea, label.getJustificationType(), jmax (1, (int) (textArea.getHeight() / font.getHeight())), label.getMinimumHorizontalScale()); g.setColour (label.findColour (Label::outlineColourId).withMultipliedAlpha (alpha)); } else if (label.isEnabled()) { g.setColour (label.findColour (Label::outlineColourId)); } g.drawRect (label.getLocalBounds(),2); }
void InterfaceComponent::paintListBoxItem (const int rowNumber, juce::Graphics& g, const int width, const int height, const bool isRowSelected) { if (isRowSelected) { g.fillAll (juce::Colours::white.darker()); g.setColour (juce::Colours::white.darker().contrasting()); } else { g.setColour (fileListBox.findColour (juce::ListBox::textColourId)); } g.setFont (height * 0.7f); g.drawText (files[rowNumber], 5, 0, width, height, juce::Justification::centredLeft, false); const float h = (float) height; const float w = (float) width; const float offset = 5.0f; const float thickness = 0.25f; g.setColour (juce::Colours::lightgrey); g.drawLine (offset, h - thickness, w - (offset * 2.0f), h - thickness, thickness); }
void OscOutputManagerHeaderComponent::paint(juce::Graphics &g) { g.setColour( AddictLookAndFeel::getBackgroundColour() ); g.fillAll(); g.setColour( AddictLookAndFeel::getOutlineColour() ); g.drawLine( 0.0f, float(getHeight()), float(getWidth()), float(getHeight())); }
void WaveViewer::paint(juce::Graphics &g) { g.drawImage(background_, 0, 0, getWidth(), getHeight(), 0, 0, background_.getWidth(), background_.getHeight()); if (wave_state_) { float amplitude = amplitude_slider_ ? amplitude_slider_->getValue() : 1.0f; if (phase_ >= 0.0 && phase_ < 1.0) { float x = phaseToX(phase_); g.setColour(Colour(0x33ffffff)); g.fillRect(x - 0.5f, 0.0f, 1.0f, (float)getHeight()); mopo::Wave::Type type = static_cast<mopo::Wave::Type>(static_cast<int>(wave_slider_->getValue())); float value = amplitude * mopo::Wave::wave(type, phase_); float y = PADDING + (getHeight() - 2 * PADDING) * (1.0f - value) / 2.0f; g.setColour(Colour(0xff03a9f4)); g.fillEllipse(x - MARKER_WIDTH / 2.0f, y - MARKER_WIDTH / 2.0f, MARKER_WIDTH, MARKER_WIDTH); g.setColour(Colour(0xffffffff)); g.fillEllipse(x - MARKER_WIDTH / 4.0f, y - MARKER_WIDTH / 4.0f, MARKER_WIDTH / 2.0f, MARKER_WIDTH / 2.0f); } } }
void NTLookAndFeel::drawTickBox(juce::Graphics &g, juce::Component &button, float x, float y, float w, float h, bool ticked, bool isEnabled, bool isMouseOverButton, bool isButtonDown){ auto& toggle = dynamic_cast<ToggleButton&>(button); if (toggle.getRadioGroupId() > 0) { auto rect = Rectangle<float>(x,y,w,h); rect.reduce(w * .2, h*.2); g.setColour(Colours::white); g.fillEllipse(rect); g.setColour(Colours::lightgrey); g.drawEllipse(rect,2); if (ticked) { rect.reduce(rect.getWidth() * .2,rect.getHeight() *.2); g.fillEllipse(rect); } }else{ auto rect = Rectangle<float>(x,y,w,h); g.setColour(Colours::white); g.fillRect(rect); g.setColour(Colours::lightgrey); g.drawRect(rect,3); if (ticked) { rect.reduce(rect.getWidth() * .25,rect.getHeight() *.25); g.fillRect(rect); } } }
void IRBrowserComponent::paint(juce::Graphics& g) { if (_fileTreeComponent && _infoLabel) { const int width = getWidth(); const int height = getHeight(); g.setColour(juce::Colour(0xE5, 0xE5, 0xF0)); g.fillRect(0.0f, 0.0f, static_cast<float>(width), static_cast<float>(height)); g.setColour(juce::Colours::grey); g.drawRect(0.0f, 0.0f, static_cast<float>(width), static_cast<float>(height)); g.drawVerticalLine(_fileTreeComponent->getX()+_fileTreeComponent->getWidth(), 0.0f, static_cast<float>(height-1)); } }
void CpuRegistersComponent::paint(juce::Graphics& g) { g.fillAll(juce::Colours::white); g.setColour(juce::Colours::orange); g.drawRect(getLocalBounds(), 1); }
void TaskContextListBoxModel::ItemComponent::paint (juce::Graphics& g) { Colour colour (Colours::lightgrey); if (getTaskContext() != nullptr) { if (getTaskContext()->getState() == TaskContext::taskCompleted) { if (getTaskContext()->getResult().wasOk()) colour = Colours::lightgreen; else colour = Colours::red.brighter(); } } g.setColour (colour); g.fillRect(getLocalBounds()); g.setColour (colour.darker(0.05f)); g.drawHorizontalLine(getHeight()-1,0.0f,(float)getWidth()); }
void ReactiveWaveformElement::paint(juce::Graphics &g) { g.saveState(); g.setColour(colour()); g.strokePath(path, PathStrokeType(lineThickness())); if (fill) { g.setColour(fillColour()); g.fillPath(path); } if (clip) { g.reduceClipRegion(path); } GraphicsElement::paint(g); g.restoreState(); }
//============================================================================== void LufsPluginEditor::paint (juce::Graphics& g) { DEBUGPLUGIN_output("LufsPluginEditor::paint"); g.fillAll( LUFS_COLOR_BACKGROUND ); juce::Font lufsFont( 36.f ); lufsFont.setBold(true); g.setFont( lufsFont ); g.setColour( LUFS_COLOR_FONT ); int x = 10; const int width = 120; const int height = 60; g.setColour( COLOR_LUFSTIME ); g.drawFittedText( juce::String( "LUFS" ), x, 10, width, 40, juce::Justification::centred, 1, 0.01f ); x += width; juce::Font font( 18.f ); font.setBold(true); g.setFont( font ); g.setColour( COLOR_MOMENTARY ); g.drawFittedText( juce::String( "Momentary" ), x, height, width, 20, juce::Justification::centred, 1, 0.01f ); x += width; g.setColour( COLOR_SHORTTERM ); g.drawFittedText( juce::String( "Short term" ), x, height, width, 20, juce::Justification::centred, 1, 0.01f ); x += width; g.setColour( COLOR_INTEGRATED ); g.drawFittedText( juce::String( "Integrated" ), x, height, width, 20, juce::Justification::centred, 1, 0.01f ); x += width; g.setColour( COLOR_RANGE ); g.drawFittedText( juce::String( "Range" ), x, height, width, 20, juce::Justification::centred, 1, 0.01f ); }
void StringListBoxModel::paintListBoxItem(const int rowNumber, juce::Graphics &g, const int width, const int height, const bool /*rowIsSelected*/) { if (rowNumber < getNumRows()) { g.setColour(juce::Colours::black); juce::Font font(height * 0.7f); font.setHorizontalScale(0.9f); g.setFont(font); g.drawText(juce::String(items[rowNumber].c_str()), 4, 0, width - 6, height, juce::Justification::centredLeft); } }
void ReactiveRectangleElement::paint(juce::Graphics &g) { g.saveState(); if (clip) { g.reduceClipRegion(clipPath); } if(width() > 0 && height() > 0) { if (fill) { g.setColour(fillColour()); g.fillRoundedRectangle(fx, fy, fw, fh, radius()); } g.setColour(borderColour()); g.drawRoundedRectangle(fx, fy, fw, fh, radius(), borderWidth()); } GraphicsElement::paint(g); g.restoreState(); }
void NTLookAndFeel::drawComboBox(juce::Graphics &g, int width, int height, bool isButtonDown, int buttonX, int buttonY, int buttonW, int buttonH, juce::ComboBox &box){ g.fillAll (box.findColour (ComboBox::backgroundColourId)); const Colour buttonColour (box.findColour (ComboBox::buttonColourId)); g.setColour (Colours::lightgrey); g.drawRect (0, 0, width, height,2); Path p; int xEnd = (buttonX+buttonW) - buttonW/3; int midPointX = (buttonX + xEnd)/2.f; int yStart = buttonY + buttonH/3; int yEnd = (buttonY + buttonH ) - buttonH/3; p.addTriangle (buttonX, yStart, xEnd ,yStart, midPointX,yEnd); g.setColour (Colours::lightgrey); g.fillPath (p); }
void WaveViewer::paint(juce::Graphics &g) { g.drawImageWithin(background_, 0, 0, getWidth(), getHeight(), RectanglePlacement()); if (wave_phase_) { if (phase_ >= 0.0 && phase_ < 1.0) { float x = phaseToX(phase_); g.setColour(Colour(0x33ffffff)); g.fillRect(x - 0.5f, 0.0f, 1.0f, (float)getHeight()); float y = PADDING + (getHeight() - 2 * PADDING) * (1.0f - amp_) / 2.0f; if (is_control_rate_) g.setColour(Colour(0xff00e676)); else g.setColour(Colour(0xff03a9f4)); g.fillEllipse(x - MARKER_WIDTH / 2.0f, y - MARKER_WIDTH / 2.0f, MARKER_WIDTH, MARKER_WIDTH); g.setColour(Colour(0xff000000)); g.fillEllipse(x - MARKER_WIDTH / 4.0f, y - MARKER_WIDTH / 4.0f, MARKER_WIDTH / 2.0f, MARKER_WIDTH / 2.0f); } } }
void NTLookAndFeel::drawButtonBackground(juce::Graphics &g, juce::Button &button, const juce::Colour &backgroundColour, bool isMouseOverButton, bool isButtonDown){ if (isMouseOverButton && !isButtonDown) { g.fillAll(Colour{ uint8(240),uint8(240),uint8(240) }); } else if (isMouseOverButton && isButtonDown) { g.fillAll(Colour{ uint8(225),uint8(225),uint8(225) }); } else { g.fillAll(Colours::white); } g.setColour(Colours::lightgrey); g.drawRect(0, 0, button.getWidth(), button.getHeight(), 2); }
void Oscilloscope::paint(juce::Graphics &g) { g.fillAll (Colours::white); Path path; float xOffset = 21.f; float yOffset = 120.f; Rectangle<float> rect = logoPath.getBounds(); Rectangle<int> rect2 = getLocalBounds(); g.setColour (Colours::black); g.fillPath (logoPath, RectanglePlacement (RectanglePlacement::stretchToFit) .getTransformToFit (logoPath.getBounds(), getLocalBounds().toFloat())); // Horizontal zero line. path.addLineSegment(Line<float> (xOffset, yOffset, getLocalBounds().getWidth() - xOffset, yOffset), 1.); g.setColour (Colours::lightgrey); g.fillPath (path); float xIncrement = (getLocalBounds().getWidth() - 2 * xOffset) / (UIConstants::NUMBER_SCOPE_POINTS - 1); // Now iterate over points. int count = 0; float alpha = 0; for (auto& points : allPoints) { if ((currentPointsIndex - count + UIConstants::NUMBER_SCOPE_BUFFERS) % UIConstants::NUMBER_SCOPE_BUFFERS == 0) { // Current array is 'brightest' alpha = 1; } else { // Set older immediately to less than 0.5 alpha. alpha = 0.3 - ((currentPointsIndex - count + UIConstants::NUMBER_SCOPE_BUFFERS) % UIConstants::NUMBER_SCOPE_BUFFERS) * 0.03 ; } // g.setColour(Colour::fromFloatRGBA(0, 255 , 0, alpha)) ; g.setColour(scopeTraceColour.withAlpha(alpha)); path.clear(); float x = 0; path.startNewSubPath(xOffset, yOffset); for (auto& point : points) { // g.setPixel(x + xOffset, yOffset - 30 * point.x); // point.x in this case is the right value of the stereo pair. path.lineTo(x + xOffset, yOffset - 30 * point.x); x += xIncrement; } // path.closeSubPath(); g.strokePath (path, PathStrokeType (1.0f)); count++; } }