upgrade to JUCE 5.4.3. Remove (probably) unused JUCE modules. Remove VST2 target (it's been end-of-life'd by Steinberg and by JUCE)
This commit is contained in:
@ -32,7 +32,7 @@ static Typeface::Ptr getTypefaceForFontFromLookAndFeel (const Font& font)
|
||||
return LookAndFeel::getDefaultLookAndFeel().getTypefaceForFont (font);
|
||||
}
|
||||
|
||||
typedef Typeface::Ptr (*GetTypefaceForFont) (const Font&);
|
||||
using GetTypefaceForFont = Typeface::Ptr (*)(const Font&);
|
||||
extern GetTypefaceForFont juce_getTypefaceForFont;
|
||||
|
||||
//==============================================================================
|
||||
@ -147,7 +147,7 @@ void LookAndFeel::setDefaultSansSerifTypefaceName (const String& newName)
|
||||
{
|
||||
if (defaultSans != newName)
|
||||
{
|
||||
defaultTypeface = {};
|
||||
defaultTypeface.reset();
|
||||
Typeface::clearTypefaceCache();
|
||||
defaultSans = newName;
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ struct JUCE_API ExtraLookAndFeelBaseClasses
|
||||
/** This abstract base class is implemented by LookAndFeel classes. */
|
||||
struct JUCE_API LassoComponentMethods
|
||||
{
|
||||
virtual ~LassoComponentMethods() {}
|
||||
virtual ~LassoComponentMethods() = default;
|
||||
|
||||
virtual void drawLasso (Graphics&, Component& lassoComp) = 0;
|
||||
};
|
||||
@ -49,7 +49,7 @@ struct JUCE_API ExtraLookAndFeelBaseClasses
|
||||
/** This abstract base class is implemented by LookAndFeel classes. */
|
||||
struct JUCE_API KeyMappingEditorComponentMethods
|
||||
{
|
||||
virtual ~KeyMappingEditorComponentMethods() {}
|
||||
virtual ~KeyMappingEditorComponentMethods() = default;
|
||||
|
||||
virtual void drawKeymapChangeButton (Graphics&, int width, int height, Button&, const String& keyDescription) = 0;
|
||||
};
|
||||
@ -58,7 +58,7 @@ struct JUCE_API ExtraLookAndFeelBaseClasses
|
||||
/** This abstract base class is implemented by LookAndFeel classes. */
|
||||
struct JUCE_API AudioDeviceSelectorComponentMethods
|
||||
{
|
||||
virtual ~AudioDeviceSelectorComponentMethods() {}
|
||||
virtual ~AudioDeviceSelectorComponentMethods() = default;
|
||||
|
||||
virtual void drawLevelMeter (Graphics&, int width, int height, float level) = 0;
|
||||
};
|
||||
@ -113,7 +113,7 @@ public:
|
||||
LookAndFeel();
|
||||
|
||||
/** Destructor. */
|
||||
virtual ~LookAndFeel();
|
||||
~LookAndFeel() override;
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the current default look-and-feel for a component to use when it
|
||||
|
@ -52,7 +52,7 @@ LookAndFeel_V1::~LookAndFeel_V1()
|
||||
|
||||
//==============================================================================
|
||||
void LookAndFeel_V1::drawButtonBackground (Graphics& g, Button& button, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)
|
||||
{
|
||||
const int width = button.getWidth();
|
||||
const int height = button.getHeight();
|
||||
@ -69,9 +69,9 @@ void LookAndFeel_V1::drawButtonBackground (Graphics& g, Button& button, const Co
|
||||
|
||||
Colour bc (backgroundColour.withMultipliedSaturation (0.3f));
|
||||
|
||||
if (isMouseOverButton)
|
||||
if (shouldDrawButtonAsHighlighted)
|
||||
{
|
||||
if (isButtonDown)
|
||||
if (shouldDrawButtonAsDown)
|
||||
bc = bc.brighter();
|
||||
else if (bc.getBrightness() > 0.5f)
|
||||
bc = bc.darker (0.1f);
|
||||
@ -82,21 +82,21 @@ void LookAndFeel_V1::drawButtonBackground (Graphics& g, Button& button, const Co
|
||||
g.setColour (bc);
|
||||
g.fillPath (p);
|
||||
|
||||
g.setColour (bc.contrasting().withAlpha ((isMouseOverButton) ? 0.6f : 0.4f));
|
||||
g.strokePath (p, PathStrokeType ((isMouseOverButton) ? 2.0f : 1.4f));
|
||||
g.setColour (bc.contrasting().withAlpha ((shouldDrawButtonAsHighlighted) ? 0.6f : 0.4f));
|
||||
g.strokePath (p, PathStrokeType ((shouldDrawButtonAsHighlighted) ? 2.0f : 1.4f));
|
||||
}
|
||||
|
||||
void LookAndFeel_V1::drawTickBox (Graphics& g, Component& /*component*/,
|
||||
float x, float y, float w, float h,
|
||||
const bool ticked,
|
||||
const bool isEnabled,
|
||||
const bool /*isMouseOverButton*/,
|
||||
const bool isButtonDown)
|
||||
const bool /*shouldDrawButtonAsHighlighted*/,
|
||||
const bool shouldDrawButtonAsDown)
|
||||
{
|
||||
Path box;
|
||||
box.addRoundedRectangle (0.0f, 2.0f, 6.0f, 6.0f, 1.0f);
|
||||
|
||||
g.setColour (isEnabled ? Colours::blue.withAlpha (isButtonDown ? 0.3f : 0.1f)
|
||||
g.setColour (isEnabled ? Colours::blue.withAlpha (shouldDrawButtonAsDown ? 0.3f : 0.1f)
|
||||
: Colours::lightgrey.withAlpha (0.1f));
|
||||
|
||||
AffineTransform trans (AffineTransform::scale (w / 9.0f, h / 9.0f).translated (x, y));
|
||||
@ -118,7 +118,7 @@ void LookAndFeel_V1::drawTickBox (Graphics& g, Component& /*component*/,
|
||||
}
|
||||
}
|
||||
|
||||
void LookAndFeel_V1::drawToggleButton (Graphics& g, ToggleButton& button, bool isMouseOverButton, bool isButtonDown)
|
||||
void LookAndFeel_V1::drawToggleButton (Graphics& g, ToggleButton& button, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)
|
||||
{
|
||||
if (button.hasKeyboardFocus (true))
|
||||
{
|
||||
@ -132,8 +132,8 @@ void LookAndFeel_V1::drawToggleButton (Graphics& g, ToggleButton& button, bool i
|
||||
(float) tickWidth, (float) tickWidth,
|
||||
button.getToggleState(),
|
||||
button.isEnabled(),
|
||||
isMouseOverButton,
|
||||
isButtonDown);
|
||||
shouldDrawButtonAsHighlighted,
|
||||
shouldDrawButtonAsDown);
|
||||
|
||||
g.setColour (button.findColour (ToggleButton::textColourId));
|
||||
g.setFont (jmin (15.0f, button.getHeight() * 0.6f));
|
||||
@ -182,8 +182,8 @@ void LookAndFeel_V1::drawProgressBar (Graphics& g, ProgressBar& progressBar,
|
||||
void LookAndFeel_V1::drawScrollbarButton (Graphics& g, ScrollBar& bar,
|
||||
int width, int height, int buttonDirection,
|
||||
bool isScrollbarVertical,
|
||||
bool isMouseOverButton,
|
||||
bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown)
|
||||
{
|
||||
if (isScrollbarVertical)
|
||||
width -= 2;
|
||||
@ -209,9 +209,9 @@ void LookAndFeel_V1::drawScrollbarButton (Graphics& g, ScrollBar& bar,
|
||||
width * 0.7f, height * 0.1f,
|
||||
width * 0.7f, height * 0.9f);
|
||||
|
||||
if (isButtonDown)
|
||||
if (shouldDrawButtonAsDown)
|
||||
g.setColour (Colours::white);
|
||||
else if (isMouseOverButton)
|
||||
else if (shouldDrawButtonAsHighlighted)
|
||||
g.setColour (Colours::white.withAlpha (0.7f));
|
||||
else
|
||||
g.setColour (bar.findColour (ScrollBar::thumbColourId).withAlpha (0.5f));
|
||||
|
@ -38,16 +38,18 @@ class JUCE_API LookAndFeel_V1 : public LookAndFeel_V2
|
||||
{
|
||||
public:
|
||||
LookAndFeel_V1();
|
||||
~LookAndFeel_V1();
|
||||
~LookAndFeel_V1() override;
|
||||
|
||||
//==============================================================================
|
||||
void drawButtonBackground (Graphics&, Button&, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawToggleButton (Graphics&, ToggleButton&, bool isMouseOverButton, bool isButtonDown) override;
|
||||
void drawToggleButton (Graphics&, ToggleButton&,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawTickBox (Graphics&, Component&, float x, float y, float w, float h,
|
||||
bool ticked, bool isEnabled, bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool ticked, bool isEnabled,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawProgressBar (Graphics&, ProgressBar&, int width, int height,
|
||||
double progress, const String& textToShow) override;
|
||||
@ -55,7 +57,7 @@ public:
|
||||
//==============================================================================
|
||||
void drawScrollbarButton (Graphics&, ScrollBar&, int width, int height,
|
||||
int buttonDirection, bool isScrollbarVertical,
|
||||
bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawScrollbar (Graphics&, ScrollBar&, int x, int y, int width, int height,
|
||||
bool isScrollbarVertical, int thumbStartPosition, int thumbSize,
|
||||
|
@ -31,14 +31,14 @@ namespace LookAndFeelHelpers
|
||||
{
|
||||
static Colour createBaseColour (Colour buttonColour,
|
||||
bool hasKeyboardFocus,
|
||||
bool isMouseOverButton,
|
||||
bool isButtonDown) noexcept
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown) noexcept
|
||||
{
|
||||
const float sat = hasKeyboardFocus ? 1.3f : 0.9f;
|
||||
const Colour baseColour (buttonColour.withMultipliedSaturation (sat));
|
||||
|
||||
if (isButtonDown) return baseColour.contrasting (0.2f);
|
||||
if (isMouseOverButton) return baseColour.contrasting (0.1f);
|
||||
if (shouldDrawButtonAsDown) return baseColour.contrasting (0.2f);
|
||||
if (shouldDrawButtonAsHighlighted) return baseColour.contrasting (0.1f);
|
||||
|
||||
return baseColour;
|
||||
}
|
||||
@ -239,13 +239,13 @@ LookAndFeel_V2::~LookAndFeel_V2() {}
|
||||
void LookAndFeel_V2::drawButtonBackground (Graphics& g,
|
||||
Button& button,
|
||||
const Colour& backgroundColour,
|
||||
bool isMouseOverButton,
|
||||
bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown)
|
||||
{
|
||||
const int width = button.getWidth();
|
||||
const int height = button.getHeight();
|
||||
|
||||
const float outlineThickness = button.isEnabled() ? ((isButtonDown || isMouseOverButton) ? 1.2f : 0.7f) : 0.4f;
|
||||
const float outlineThickness = button.isEnabled() ? ((shouldDrawButtonAsDown || shouldDrawButtonAsHighlighted) ? 1.2f : 0.7f) : 0.4f;
|
||||
const float halfThickness = outlineThickness * 0.5f;
|
||||
|
||||
const float indentL = button.isConnectedOnLeft() ? 0.1f : halfThickness;
|
||||
@ -255,7 +255,8 @@ void LookAndFeel_V2::drawButtonBackground (Graphics& g,
|
||||
|
||||
const Colour baseColour (LookAndFeelHelpers::createBaseColour (backgroundColour,
|
||||
button.hasKeyboardFocus (true),
|
||||
isMouseOverButton, isButtonDown)
|
||||
shouldDrawButtonAsHighlighted,
|
||||
shouldDrawButtonAsDown)
|
||||
.withMultipliedAlpha (button.isEnabled() ? 1.0f : 0.5f));
|
||||
|
||||
drawGlassLozenge (g,
|
||||
@ -280,7 +281,8 @@ int LookAndFeel_V2::getTextButtonWidthToFitText (TextButton& b, int buttonHeight
|
||||
return getTextButtonFont (b, buttonHeight).getStringWidth (b.getButtonText()) + buttonHeight;
|
||||
}
|
||||
|
||||
void LookAndFeel_V2::drawButtonText (Graphics& g, TextButton& button, bool /*isMouseOverButton*/, bool /*isButtonDown*/)
|
||||
void LookAndFeel_V2::drawButtonText (Graphics& g, TextButton& button,
|
||||
bool /*shouldDrawButtonAsHighlighted*/, bool /*shouldDrawButtonAsDown*/)
|
||||
{
|
||||
Font font (getTextButtonFont (button, button.getHeight()));
|
||||
g.setFont (font);
|
||||
@ -306,16 +308,16 @@ void LookAndFeel_V2::drawTickBox (Graphics& g, Component& component,
|
||||
float x, float y, float w, float h,
|
||||
const bool ticked,
|
||||
const bool isEnabled,
|
||||
const bool isMouseOverButton,
|
||||
const bool isButtonDown)
|
||||
const bool shouldDrawButtonAsHighlighted,
|
||||
const bool shouldDrawButtonAsDown)
|
||||
{
|
||||
const float boxSize = w * 0.7f;
|
||||
|
||||
drawGlassSphere (g, x, y + (h - boxSize) * 0.5f, boxSize,
|
||||
LookAndFeelHelpers::createBaseColour (component.findColour (TextButton::buttonColourId)
|
||||
.withMultipliedAlpha (isEnabled ? 1.0f : 0.5f),
|
||||
true, isMouseOverButton, isButtonDown),
|
||||
isEnabled ? ((isButtonDown || isMouseOverButton) ? 1.1f : 0.5f) : 0.3f);
|
||||
true, shouldDrawButtonAsHighlighted, shouldDrawButtonAsDown),
|
||||
isEnabled ? ((shouldDrawButtonAsDown || shouldDrawButtonAsHighlighted) ? 1.1f : 0.5f) : 0.3f);
|
||||
|
||||
if (ticked)
|
||||
{
|
||||
@ -335,7 +337,7 @@ void LookAndFeel_V2::drawTickBox (Graphics& g, Component& component,
|
||||
}
|
||||
|
||||
void LookAndFeel_V2::drawToggleButton (Graphics& g, ToggleButton& button,
|
||||
bool isMouseOverButton, bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)
|
||||
{
|
||||
if (button.hasKeyboardFocus (true))
|
||||
{
|
||||
@ -350,8 +352,8 @@ void LookAndFeel_V2::drawToggleButton (Graphics& g, ToggleButton& button,
|
||||
tickWidth, tickWidth,
|
||||
button.getToggleState(),
|
||||
button.isEnabled(),
|
||||
isMouseOverButton,
|
||||
isButtonDown);
|
||||
shouldDrawButtonAsHighlighted,
|
||||
shouldDrawButtonAsDown);
|
||||
|
||||
g.setColour (button.findColour (ToggleButton::textColourId));
|
||||
g.setFont (fontSize);
|
||||
@ -377,7 +379,7 @@ void LookAndFeel_V2::changeToggleButtonWidthToFitText (ToggleButton& button)
|
||||
}
|
||||
|
||||
void LookAndFeel_V2::drawDrawableButton (Graphics& g, DrawableButton& button,
|
||||
bool /*isMouseOverButton*/, bool /*isButtonDown*/)
|
||||
bool /*shouldDrawButtonAsHighlighted*/, bool /*shouldDrawButtonAsDown*/)
|
||||
{
|
||||
bool toggleState = button.getToggleState();
|
||||
|
||||
@ -644,8 +646,8 @@ bool LookAndFeel_V2::areScrollbarButtonsVisible()
|
||||
void LookAndFeel_V2::drawScrollbarButton (Graphics& g, ScrollBar& scrollbar,
|
||||
int width, int height, int buttonDirection,
|
||||
bool /*isScrollbarVertical*/,
|
||||
bool /*isMouseOverButton*/,
|
||||
bool isButtonDown)
|
||||
bool /*shouldDrawButtonAsHighlighted*/,
|
||||
bool shouldDrawButtonAsDown)
|
||||
{
|
||||
Path p;
|
||||
|
||||
@ -666,7 +668,7 @@ void LookAndFeel_V2::drawScrollbarButton (Graphics& g, ScrollBar& scrollbar,
|
||||
width * 0.7f, height * 0.1f,
|
||||
width * 0.7f, height * 0.9f);
|
||||
|
||||
if (isButtonDown)
|
||||
if (shouldDrawButtonAsDown)
|
||||
g.setColour (scrollbar.findColour (ScrollBar::thumbColourId).contrasting (0.2f));
|
||||
else
|
||||
g.setColour (scrollbar.findColour (ScrollBar::thumbColourId));
|
||||
@ -1132,7 +1134,7 @@ CaretComponent* LookAndFeel_V2::createCaretComponent (Component* keyFocusOwner)
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void LookAndFeel_V2::drawComboBox (Graphics& g, int width, int height, const bool isButtonDown,
|
||||
void LookAndFeel_V2::drawComboBox (Graphics& g, int width, int height, const bool isMouseButtonDown,
|
||||
int buttonX, int buttonY, int buttonW, int buttonH, ComboBox& box)
|
||||
{
|
||||
g.fillAll (box.findColour (ComboBox::backgroundColourId));
|
||||
@ -1148,11 +1150,11 @@ void LookAndFeel_V2::drawComboBox (Graphics& g, int width, int height, const boo
|
||||
g.drawRect (0, 0, width, height);
|
||||
}
|
||||
|
||||
auto outlineThickness = box.isEnabled() ? (isButtonDown ? 1.2f : 0.5f) : 0.3f;
|
||||
auto outlineThickness = box.isEnabled() ? (isMouseButtonDown ? 1.2f : 0.5f) : 0.3f;
|
||||
|
||||
auto baseColour = LookAndFeelHelpers::createBaseColour (box.findColour (ComboBox::buttonColourId),
|
||||
box.hasKeyboardFocus (true),
|
||||
false, isButtonDown)
|
||||
false, isMouseButtonDown)
|
||||
.withMultipliedAlpha (box.isEnabled() ? 1.0f : 0.5f);
|
||||
|
||||
drawGlassLozenge (g,
|
||||
@ -1199,6 +1201,30 @@ void LookAndFeel_V2::positionComboBoxText (ComboBox& box, Label& label)
|
||||
label.setFont (getComboBoxFont (box));
|
||||
}
|
||||
|
||||
PopupMenu::Options LookAndFeel_V2::getOptionsForComboBoxPopupMenu (ComboBox& box, Label& label)
|
||||
{
|
||||
return PopupMenu::Options().withTargetComponent (&box)
|
||||
.withItemThatMustBeVisible (box.getSelectedId())
|
||||
.withMinimumWidth (box.getWidth())
|
||||
.withMaximumNumColumns (1)
|
||||
.withStandardItemHeight (label.getHeight());
|
||||
}
|
||||
|
||||
void LookAndFeel_V2::drawComboBoxTextWhenNothingSelected (Graphics& g, ComboBox& box, Label& label)
|
||||
{
|
||||
g.setColour (findColour (ComboBox::textColourId).withMultipliedAlpha (0.5f));
|
||||
|
||||
auto font = label.getLookAndFeel().getLabelFont (label);
|
||||
|
||||
g.setFont (font);
|
||||
|
||||
auto textArea = getLabelBorderSize (label).subtractedFrom (label.getLocalBounds());
|
||||
|
||||
g.drawFittedText (box.getTextWhenNothingSelected(), textArea, label.getJustificationType(),
|
||||
jmax (1, (int) (textArea.getHeight() / font.getHeight())),
|
||||
label.getMinimumHorizontalScale());
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Font LookAndFeel_V2::getLabelFont (Label& label)
|
||||
{
|
||||
@ -1217,7 +1243,7 @@ void LookAndFeel_V2::drawLabel (Graphics& g, Label& label)
|
||||
g.setColour (label.findColour (Label::textColourId).withMultipliedAlpha (alpha));
|
||||
g.setFont (font);
|
||||
|
||||
Rectangle<int> textArea (label.getBorderSize().subtractedFrom (label.getLocalBounds()));
|
||||
auto textArea = getLabelBorderSize (label).subtractedFrom (label.getLocalBounds());
|
||||
|
||||
g.drawFittedText (label.getText(), textArea, label.getJustificationType(),
|
||||
jmax (1, (int) (textArea.getHeight() / font.getHeight())),
|
||||
@ -1233,6 +1259,11 @@ void LookAndFeel_V2::drawLabel (Graphics& g, Label& label)
|
||||
g.drawRect (label.getLocalBounds());
|
||||
}
|
||||
|
||||
BorderSize<int> LookAndFeel_V2::getLabelBorderSize (Label& label)
|
||||
{
|
||||
return label.getBorderSize();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void LookAndFeel_V2::drawLinearSliderBackground (Graphics& g, int x, int y, int width, int height,
|
||||
float /*sliderPos*/,
|
||||
@ -1794,9 +1825,9 @@ public:
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown) override
|
||||
void paintButton (Graphics& g, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
|
||||
{
|
||||
float alpha = isMouseOverButton ? (isButtonDown ? 1.0f : 0.8f) : 0.55f;
|
||||
float alpha = shouldDrawButtonAsHighlighted ? (shouldDrawButtonAsDown ? 1.0f : 0.8f) : 0.55f;
|
||||
|
||||
if (! isEnabled())
|
||||
alpha *= 0.5f;
|
||||
@ -2624,7 +2655,7 @@ void LookAndFeel_V2::layoutFileBrowserComponent (FileBrowserComponent& browserCo
|
||||
//==============================================================================
|
||||
static Drawable* createDrawableFromSVG (const char* data)
|
||||
{
|
||||
std::unique_ptr<XmlElement> xml (XmlDocument::parse (data));
|
||||
auto xml = parseXML (data);
|
||||
jassert (xml != nullptr);
|
||||
return Drawable::createFromSVG (*xml);
|
||||
}
|
||||
|
@ -39,25 +39,29 @@ class JUCE_API LookAndFeel_V2 : public LookAndFeel
|
||||
{
|
||||
public:
|
||||
LookAndFeel_V2();
|
||||
~LookAndFeel_V2();
|
||||
~LookAndFeel_V2() override;
|
||||
|
||||
//==============================================================================
|
||||
void drawButtonBackground (Graphics&, Button&, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
Font getTextButtonFont (TextButton&, int buttonHeight) override;
|
||||
|
||||
void drawButtonText (Graphics&, TextButton&, bool isMouseOverButton, bool isButtonDown) override;
|
||||
void drawButtonText (Graphics&, TextButton&,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
int getTextButtonWidthToFitText (TextButton&, int buttonHeight) override;
|
||||
|
||||
void drawToggleButton (Graphics&, ToggleButton&, bool isMouseOverButton, bool isButtonDown) override;
|
||||
void drawToggleButton (Graphics&, ToggleButton&,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void changeToggleButtonWidthToFitText (ToggleButton&) override;
|
||||
|
||||
void drawTickBox (Graphics&, Component&,
|
||||
float x, float y, float w, float h,
|
||||
bool ticked, bool isEnabled, bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool ticked, bool isEnabled,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawDrawableButton (Graphics&, DrawableButton&, bool isMouseOverButton, bool isButtonDown) override;
|
||||
void drawDrawableButton (Graphics&, DrawableButton&,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
//==============================================================================
|
||||
AlertWindow* createAlertWindow (const String& title, const String& message,
|
||||
@ -98,7 +102,7 @@ public:
|
||||
//==============================================================================
|
||||
bool areScrollbarButtonsVisible() override;
|
||||
void drawScrollbarButton (Graphics&, ScrollBar&, int width, int height, int buttonDirection,
|
||||
bool isScrollbarVertical, bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool isScrollbarVertical, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawScrollbar (Graphics&, ScrollBar&, int x, int y, int width, int height,
|
||||
bool isScrollbarVertical, int thumbStartPosition, int thumbSize,
|
||||
@ -187,16 +191,19 @@ public:
|
||||
int getPopupMenuBorderSize() override;
|
||||
|
||||
//==============================================================================
|
||||
void drawComboBox (Graphics&, int width, int height, bool isButtonDown,
|
||||
void drawComboBox (Graphics&, int width, int height, bool isMouseButtonDown,
|
||||
int buttonX, int buttonY, int buttonW, int buttonH,
|
||||
ComboBox&) override;
|
||||
Font getComboBoxFont (ComboBox&) override;
|
||||
Label* createComboBoxTextBox (ComboBox&) override;
|
||||
void positionComboBoxText (ComboBox&, Label&) override;
|
||||
PopupMenu::Options getOptionsForComboBoxPopupMenu (ComboBox&, Label&) override;
|
||||
void drawComboBoxTextWhenNothingSelected (Graphics&, ComboBox&, Label&) override;
|
||||
|
||||
//==============================================================================
|
||||
void drawLabel (Graphics&, Label&) override;
|
||||
Font getLabelFont (Label&) override;
|
||||
BorderSize<int> getLabelBorderSize (Label&) override;
|
||||
|
||||
//==============================================================================
|
||||
void drawLinearSlider (Graphics&, int x, int y, int width, int height,
|
||||
|
@ -125,13 +125,13 @@ static void drawButtonShape (Graphics& g, const Path& outline, Colour baseColour
|
||||
}
|
||||
|
||||
void LookAndFeel_V3::drawButtonBackground (Graphics& g, Button& button, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)
|
||||
{
|
||||
Colour baseColour (backgroundColour.withMultipliedSaturation (button.hasKeyboardFocus (true) ? 1.3f : 0.9f)
|
||||
.withMultipliedAlpha (button.isEnabled() ? 0.9f : 0.5f));
|
||||
|
||||
if (isButtonDown || isMouseOverButton)
|
||||
baseColour = baseColour.contrasting (isButtonDown ? 0.2f : 0.1f);
|
||||
if (shouldDrawButtonAsDown || shouldDrawButtonAsHighlighted)
|
||||
baseColour = baseColour.contrasting (shouldDrawButtonAsDown ? 0.2f : 0.1f);
|
||||
|
||||
const bool flatOnLeft = button.isConnectedOnLeft();
|
||||
const bool flatOnRight = button.isConnectedOnRight();
|
||||
@ -158,7 +158,7 @@ void LookAndFeel_V3::drawButtonBackground (Graphics& g, Button& button, const Co
|
||||
|
||||
void LookAndFeel_V3::drawTableHeaderBackground (Graphics& g, TableHeaderComponent& header)
|
||||
{
|
||||
Rectangle<int> r (header.getLocalBounds());
|
||||
auto r = header.getLocalBounds();
|
||||
auto outlineColour = header.findColour (TableHeaderComponent::outlineColourId);
|
||||
|
||||
g.setColour (outlineColour);
|
||||
@ -353,7 +353,7 @@ int LookAndFeel_V3::getTreeViewIndentSize (TreeView&)
|
||||
return 20;
|
||||
}
|
||||
|
||||
void LookAndFeel_V3::drawComboBox (Graphics& g, int width, int height, const bool /*isButtonDown*/,
|
||||
void LookAndFeel_V3::drawComboBox (Graphics& g, int width, int height, const bool /*isMouseButtonDown*/,
|
||||
int buttonX, int buttonY, int buttonW, int buttonH, ComboBox& box)
|
||||
{
|
||||
g.fillAll (box.findColour (ComboBox::backgroundColourId));
|
||||
@ -536,7 +536,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown) override
|
||||
void paintButton (Graphics& g, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
|
||||
{
|
||||
Colour background (Colours::grey);
|
||||
|
||||
@ -544,7 +544,7 @@ public:
|
||||
background = rw->getBackgroundColour();
|
||||
|
||||
const float cx = getWidth() * 0.5f, cy = getHeight() * 0.5f;
|
||||
const float diam = jmin (cx, cy) * (isButtonDown ? 0.60f : 0.65f);
|
||||
const float diam = jmin (cx, cy) * (shouldDrawButtonAsDown ? 0.60f : 0.65f);
|
||||
|
||||
g.setColour (background);
|
||||
g.fillEllipse (cx - diam, cy - diam, diam * 2.0f, diam * 2.0f);
|
||||
@ -553,7 +553,7 @@ public:
|
||||
|
||||
if (! isEnabled())
|
||||
c = c.withAlpha (0.6f);
|
||||
else if (isMouseOverButton)
|
||||
else if (shouldDrawButtonAsHighlighted)
|
||||
c = c.brighter();
|
||||
|
||||
g.setColour (c);
|
||||
|
@ -38,11 +38,11 @@ class JUCE_API LookAndFeel_V3 : public LookAndFeel_V2
|
||||
{
|
||||
public:
|
||||
LookAndFeel_V3();
|
||||
~LookAndFeel_V3();
|
||||
~LookAndFeel_V3() override;
|
||||
|
||||
//==============================================================================
|
||||
void drawButtonBackground (Graphics&, Button&, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawTableHeaderBackground (Graphics&, TableHeaderComponent&) override;
|
||||
|
||||
|
@ -115,7 +115,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown) override
|
||||
void paintButton (Graphics& g, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
|
||||
{
|
||||
auto background = Colours::grey;
|
||||
|
||||
@ -125,10 +125,10 @@ public:
|
||||
|
||||
g.fillAll (background);
|
||||
|
||||
g.setColour ((! isEnabled() || isButtonDown) ? colour.withAlpha (0.6f)
|
||||
g.setColour ((! isEnabled() || shouldDrawButtonAsDown) ? colour.withAlpha (0.6f)
|
||||
: colour);
|
||||
|
||||
if (isMouseOverButton)
|
||||
if (shouldDrawButtonAsHighlighted)
|
||||
{
|
||||
g.fillAll();
|
||||
g.setColour (background);
|
||||
@ -284,8 +284,8 @@ Font LookAndFeel_V4::getTextButtonFont (TextButton&, int buttonHeight)
|
||||
void LookAndFeel_V4::drawButtonBackground (Graphics& g,
|
||||
Button& button,
|
||||
const Colour& backgroundColour,
|
||||
bool isMouseOverButton,
|
||||
bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown)
|
||||
{
|
||||
auto cornerSize = 6.0f;
|
||||
auto bounds = button.getLocalBounds().toFloat().reduced (0.5f, 0.5f);
|
||||
@ -293,8 +293,8 @@ void LookAndFeel_V4::drawButtonBackground (Graphics& g,
|
||||
auto baseColour = backgroundColour.withMultipliedSaturation (button.hasKeyboardFocus (true) ? 1.3f : 0.9f)
|
||||
.withMultipliedAlpha (button.isEnabled() ? 1.0f : 0.5f);
|
||||
|
||||
if (isButtonDown || isMouseOverButton)
|
||||
baseColour = baseColour.contrasting (isButtonDown ? 0.2f : 0.05f);
|
||||
if (shouldDrawButtonAsDown || shouldDrawButtonAsHighlighted)
|
||||
baseColour = baseColour.contrasting (shouldDrawButtonAsDown ? 0.2f : 0.05f);
|
||||
|
||||
g.setColour (baseColour);
|
||||
|
||||
@ -324,7 +324,7 @@ void LookAndFeel_V4::drawButtonBackground (Graphics& g,
|
||||
}
|
||||
|
||||
void LookAndFeel_V4::drawToggleButton (Graphics& g, ToggleButton& button,
|
||||
bool isMouseOverButton, bool isButtonDown)
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)
|
||||
{
|
||||
auto fontSize = jmin (15.0f, button.getHeight() * 0.75f);
|
||||
auto tickWidth = fontSize * 1.1f;
|
||||
@ -333,8 +333,8 @@ void LookAndFeel_V4::drawToggleButton (Graphics& g, ToggleButton& button,
|
||||
tickWidth, tickWidth,
|
||||
button.getToggleState(),
|
||||
button.isEnabled(),
|
||||
isMouseOverButton,
|
||||
isButtonDown);
|
||||
shouldDrawButtonAsHighlighted,
|
||||
shouldDrawButtonAsDown);
|
||||
|
||||
g.setColour (button.findColour (ToggleButton::textColourId));
|
||||
g.setFont (fontSize);
|
||||
@ -352,10 +352,10 @@ void LookAndFeel_V4::drawTickBox (Graphics& g, Component& component,
|
||||
float x, float y, float w, float h,
|
||||
const bool ticked,
|
||||
const bool isEnabled,
|
||||
const bool isMouseOverButton,
|
||||
const bool isButtonDown)
|
||||
const bool shouldDrawButtonAsHighlighted,
|
||||
const bool shouldDrawButtonAsDown)
|
||||
{
|
||||
ignoreUnused (isEnabled, isMouseOverButton, isButtonDown);
|
||||
ignoreUnused (isEnabled, shouldDrawButtonAsHighlighted, shouldDrawButtonAsDown);
|
||||
|
||||
Rectangle<float> tickBounds (x, y, w, h);
|
||||
|
||||
@ -1152,8 +1152,6 @@ void LookAndFeel_V4::drawConcertinaPanelHeader (Graphics& g, const Rectangle<int
|
||||
p.addRoundedRectangle (bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight(),
|
||||
cornerSize, cornerSize, isTopPanel, isTopPanel, false, false);
|
||||
|
||||
auto bkg = Colours::grey;
|
||||
|
||||
g.setGradientFill (ColourGradient::vertical (Colours::white.withAlpha (isMouseOver ? 0.4f : 0.2f), static_cast<float> (area.getY()),
|
||||
Colours::darkgrey.withAlpha (0.1f), static_cast<float> (area.getBottom())));
|
||||
g.fillPath (p);
|
||||
|
@ -95,7 +95,7 @@ public:
|
||||
LookAndFeel_V4 (ColourScheme);
|
||||
|
||||
/** Destructor. */
|
||||
~LookAndFeel_V4();
|
||||
~LookAndFeel_V4() override;
|
||||
|
||||
//==============================================================================
|
||||
void setColourScheme (ColourScheme);
|
||||
@ -115,12 +115,14 @@ public:
|
||||
Font getTextButtonFont (TextButton&, int buttonHeight) override;
|
||||
|
||||
void drawButtonBackground (Graphics&, Button&, const Colour& backgroundColour,
|
||||
bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void drawToggleButton (Graphics&, ToggleButton&, bool isMouseOverButton, bool isButtonDown) override;
|
||||
void drawToggleButton (Graphics&, ToggleButton&,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
void drawTickBox (Graphics&, Component&,
|
||||
float x, float y, float w, float h,
|
||||
bool ticked, bool isEnabled, bool isMouseOverButton, bool isButtonDown) override;
|
||||
bool ticked, bool isEnabled,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
void changeToggleButtonWidthToFitText (ToggleButton&) override;
|
||||
|
||||
|
Reference in New Issue
Block a user