fix: paint window-aligned gradients within popup bounds
This commit is contained in:
@@ -118,6 +118,10 @@ final class ApplicationActionsController: NSViewController, NSSearchFieldDelegat
|
||||
content.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
content.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
content.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
background.leadingAnchor.constraint(equalTo: content.leadingAnchor),
|
||||
background.trailingAnchor.constraint(equalTo: content.trailingAnchor),
|
||||
background.topAnchor.constraint(equalTo: content.topAnchor),
|
||||
background.bottomAnchor.constraint(equalTo: content.bottomAnchor),
|
||||
applicationLabel.leadingAnchor.constraint(equalTo: content.leadingAnchor, constant: 16),
|
||||
applicationLabel.trailingAnchor.constraint(equalTo: content.trailingAnchor, constant: -16),
|
||||
applicationLabel.topAnchor.constraint(equalTo: content.topAnchor, constant: 14),
|
||||
@@ -197,13 +201,8 @@ final class ApplicationActionsController: NSViewController, NSSearchFieldDelegat
|
||||
view.alphaValue = 0
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
host.addSubview(view)
|
||||
// Crop the window-sized background; filtering must not rescale its glows.
|
||||
NSLayoutConstraint.activate([
|
||||
background.leadingAnchor.constraint(equalTo: host.leadingAnchor),
|
||||
background.trailingAnchor.constraint(equalTo: host.trailingAnchor),
|
||||
background.topAnchor.constraint(equalTo: host.topAnchor),
|
||||
background.bottomAnchor.constraint(equalTo: host.bottomAnchor)
|
||||
])
|
||||
// Paint only the popup's bounds, using the window's gradient coordinates.
|
||||
background.canvas = host
|
||||
NSLayoutConstraint.activate([
|
||||
view.trailingAnchor.constraint(equalTo: pill.trailingAnchor),
|
||||
belowAnchor
|
||||
@@ -214,7 +213,6 @@ final class ApplicationActionsController: NSViewController, NSSearchFieldDelegat
|
||||
coveredPillAlpha = pill.alphaValue
|
||||
}
|
||||
coveredPill?.setAccessibilityHidden(true)
|
||||
// Resolve the background crop before fading in a newly positioned popup.
|
||||
host.layoutSubtreeIfNeeded()
|
||||
background.needsDisplay = true
|
||||
NSAnimationContext.runAnimationGroup { context in
|
||||
|
||||
Reference in New Issue
Block a user