david-swift 04c77831b5
Some checks are pending
Deploy Docs / publish (push) Waiting to run
SwiftLint / SwiftLint (push) Waiting to run
Remove Core library
2025-10-30 21:36:13 +01:00

44 lines
1.0 KiB
Swift

//
// HStack.swift
// Adwaita
//
// Created by david-swift on 26.09.23.
//
/// A horizontal GtkBox equivalent.
public struct HStack: SimpleView {
/// The content.
var content: () -> Body
/// The spacing between elements.
var spacing: Int
/// Whether the linked style should be used.
var linked = false
/// The view's body.
public var view: Body {
ModifierWrapper(
content: VStack(horizontal: true, spacing: spacing, content: content),
style: "linked",
styleActive: linked
)
}
/// Initialize a `HStack`.
/// - Parameters:
/// - spacing: The spacing between elements.
/// - content: The view content.
public init(spacing: Int = 0, @ViewBuilder content: @escaping () -> Body) {
self.content = content
self.spacing = spacing
}
/// Link the children.
public func linked(_ active: Bool = true) -> Self {
var newSelf = self
newSelf.linked = active
return newSelf
}
}