Skip to content

Commit a58361d

Browse files
committed
Fix window shadows on Linux
1 parent 631f132 commit a58361d

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Source/Standalone/PlugDataWindow.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ class PlugDataWindow final : public DocumentWindow
560560
void paint(Graphics& g) override
561561
{
562562
if (drawWindowShadow && !useNativeTitlebar() && !isMaximised()) {
563-
StackShadow::drawShadowForRect(g, getLocalBounds().reduced(18, 17), 18, isActiveWindow() ? 0.42f : 0.20f, Corners::windowCornerRadius);
563+
StackShadow::drawShadowForRect(g, getLocalBounds().reduced(20, 20), 18, Corners::windowCornerRadius, isActiveWindow() ? 0.42f : 0.2f);
564564
}
565565
}
566566
#endif

Source/Utility/StackShadow.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ StackShadow::RectShadowImage StackShadow::generateShadowImages(int radius, float
244244
}
245245
if (y < scaledEdgeH) {
246246
auto* edgeRow = edgeData.getLinePointer(y);
247-
edgeRow[PixelARGB::indexA] = srcRow[cSize * 2];
247+
edgeRow[PixelARGB::indexA] = srcRow[static_cast<int>(cSize * scale)];
248248
}
249249
}
250250
return imgs;
@@ -278,7 +278,7 @@ void StackShadow::drawShadowForRect(Graphics& g, Rectangle<int> bounds, int radi
278278
float const vEdgeRot = MathConstants<float>::halfPi;
279279

280280
// Corners
281-
g.drawImageAt(imgs.corner, bx - r, by - r);
281+
g.drawImageTransformed(imgs.corner, AffineTransform::translation(bx - r, by - r));
282282
g.drawImageTransformed(imgs.corner, AffineTransform::scale(-1.0f, 1.0f).translated(bx + bw + r, by - r));
283283
g.drawImageTransformed(imgs.corner, AffineTransform::scale(1.0f, -1.0f).translated(bx - r, by + bh + r));
284284
g.drawImageTransformed(imgs.corner, AffineTransform::scale(-1.0f, -1.0f).translated(bx + bw + r, by + bh + r));

0 commit comments

Comments
 (0)