2024-MacC-M14-Medio / SqoopDesignSystem / Sources / SQComponents / Helper / CornerRadius+.swift
CornerRadius+.swift
Raw
//
//  CornerRadius+.swift
//  SqoopDesignSystem
//
//  Created by  on 11/8/24.
//

import SwiftUI

extension View {
    
    ///   CornerRadius   Extension .
    public func cornerRadius(_ radius: CGFloat, corners: UIRectCorner) -> some View {
        clipShape(RoundedCorner(radius: radius, corners: corners))
    }
}

///   CornerRadius   Shape
struct RoundedCorner: Shape {
    
    public var radius: CGFloat = .infinity
    public var corners: UIRectCorner = .allCorners
    
    public init(radius: CGFloat, corners: UIRectCorner) {
        self.radius = radius
        self.corners = corners
    }
    
    public func path(in rect: CGRect) -> Path {
        let path = UIBezierPath(
            roundedRect: rect,
            byRoundingCorners: corners,
            cornerRadii: CGSize(width: radius, height: radius)
        )
        
        return Path(path.cgPath)
    }
}