david-swift e989bea14e
All checks were successful
Deploy Docs / publish (push) Successful in 2m38s
Initial commit
2024-12-02 22:14:13 +01:00

49 lines
1.3 KiB
Swift

//
// Edge.swift
// MacBackend
//
// Created by david-swift on 11.10.2024.
//
import AppKit
/// A view's edges.
public enum Edge {
/// The leading edge.
case leading
/// The trailing edge.
case trailing
/// The top edge.
case top
/// The bottom edge.
case bottom
/// Activate layout constraints affecting this edge.
/// - Parameters:
/// - view: The view.
/// - parent: The parent view.
/// - padding: The padding value.
func activate(in view: NSView, to parent: NSView, padding: CGFloat) {
switch self {
case .top:
NSLayoutConstraint.activate([
view.topAnchor.constraint(equalTo: view.topAnchor, constant: padding)
])
case .bottom:
NSLayoutConstraint.activate([
view.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -padding)
])
case .leading:
NSLayoutConstraint.activate([
view.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: padding)
])
case .trailing:
NSLayoutConstraint.activate([
view.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -padding)
])
}
}
}