Skip to content

Commit 3490df2

Browse files
committed
Make window shadow and outline better on Linux
1 parent a2fd91d commit 3490df2

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

Source/Standalone/PlugDataWindow.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -569,19 +569,28 @@ class PlugDataWindow final : public DocumentWindow
569569
if (drawWindowShadow && !useNativeTitlebar() && !isFullScreen()) {
570570
auto b = getLocalBounds();
571571
Path localPath;
572-
localPath.addRoundedRectangle(b.toFloat().reduced(22.0f), Corners::windowCornerRadius);
572+
localPath.addRoundedRectangle(b.toFloat().reduced(18.0f), Corners::windowCornerRadius);
573573

574-
int radius = isActiveWindow() ? 22 : 17;
575-
StackShadow::renderDropShadow(hash("plugdata_window"), g, localPath, Colour(0, 0, 0).withAlpha(0.6f), radius, { 0, 2 });
574+
float opacity = isActiveWindow() ? 0.42f : 0.20f;
575+
StackShadow::renderDropShadow(hash("plugdata_window"), g, localPath, Colour(0, 0, 0).withAlpha(opacity), 17.0f, { 0, 0 });
576576
}
577577
}
578-
#elif JUCE_WINDOWS
578+
#endif
579+
580+
#if JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD
579581
void paintOverChildren(Graphics& g) override
580582
{
583+
#if JUCE_WINDOWS
581584
if (SystemStats::getOperatingSystemType() != SystemStats::Windows11) {
582585
g.setColour(findColour(PlugDataColour::outlineColourId));
583586
g.drawRect(0, 0, getWidth(), getHeight());
584587
}
588+
#else
589+
if(drawWindowShadow && !useNativeTitlebar() && !isFullScreen()) {
590+
g.setColour(findColour(PlugDataColour::outlineColourId).withAlpha(isActiveWindow() ? 1.0f : 0.5f));
591+
g.drawRoundedRectangle(18, 18, getWidth() - 36, getHeight() - 36, Corners::windowCornerRadius, 1.0f);
592+
}
593+
#endif
585594
}
586595
#endif
587596

0 commit comments

Comments
 (0)