Mix quad border color with background color based on its alpha channel

Nathan Sobo and Max Brunsfeld created

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Change summary

gpui/src/platform/mac/shaders/shaders.metal | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Detailed changes

gpui/src/platform/mac/shaders/shaders.metal 🔗

@@ -70,9 +70,10 @@ float4 quad_sdf(QuadFragmentInput input) {
     if (border_width == 0.) {
         color = input.background_color;
     } else {
+        float4 border_color = float4(mix(float3(input.background_color), float3(input.border_color), input.border_color.a), 1.);
         float inset_distance = distance + border_width;
         color = mix(
-            input.border_color,
+            border_color,
             input.background_color,
             saturate(0.5 - inset_distance)
         );