Browse Source

Added some more places where we can use the BorderSize from a Label's LookAndFeel

tags/2021-05-28
Tom Poole 7 years ago
parent
commit
02f8a125c4
3 changed files with 9 additions and 6 deletions
  1. +1
    -1
      modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp
  2. +3
    -2
      modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp
  3. +5
    -3
      modules/juce_gui_basics/widgets/juce_Label.cpp

+ 1
- 1
modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp View File

@@ -1218,7 +1218,7 @@ void LookAndFeel_V2::drawComboBoxTextWhenNothingSelected (Graphics& g, ComboBox&
g.setFont (font);
auto textArea = label.getBorderSize().subtractedFrom (label.getLocalBounds());
auto textArea = getLabelBorderSize (label).subtractedFrom (label.getLocalBounds());
g.drawFittedText (box.getTextWhenNothingSelected(), textArea, label.getJustificationType(),
jmax (1, (int) (textArea.getHeight() / font.getHeight())),


+ 3
- 2
modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp View File

@@ -96,8 +96,9 @@ public:
{
if (getText().isEmpty() && ! isBeingEdited())
{
auto textArea = getBorderSize().subtractedFrom (getLocalBounds());
auto labelFont = owner.getLookAndFeel().getLabelFont (*this);
auto& lf = owner.getLookAndFeel();
auto textArea = lf.getLabelBorderSize (*this).subtractedFrom (getLocalBounds());
auto labelFont = lf.getLabelFont (*this);
g.setColour (owner.findColour (TextPropertyComponent::textColourId).withAlpha (alphaToUseForEmptyText));
g.setFont (labelFont);


+ 5
- 3
modules/juce_gui_basics/widgets/juce_Label.cpp View File

@@ -155,19 +155,21 @@ void Label::attachToComponent (Component* owner, bool onLeft)
void Label::componentMovedOrResized (Component& component, bool /*wasMoved*/, bool /*wasResized*/)
{
auto f = getLookAndFeel().getLabelFont (*this);
auto& lf = getLookAndFeel();
auto f = lf.getLabelFont (*this);
auto border = lf.getLabelBorderSize (*this);
if (leftOfOwnerComp)
{
auto width = jmin (roundToInt (f.getStringWidthFloat (textValue.toString()) + 0.5f)
+ getBorderSize().getLeftAndRight(),
+ border.getLeftAndRight(),
component.getX());
setBounds (component.getX() - width, component.getY(), width, component.getHeight());
}
else
{
auto height = getBorderSize().getTopAndBottom() + 6 + roundToInt (f.getHeight() + 0.5f);
auto height = border.getTopAndBottom() + 6 + roundToInt (f.getHeight() + 0.5f);
setBounds (component.getX(), component.getY() - height, component.getWidth(), height);
}


Loading…
Cancel
Save