diff --git a/Sources/MarkdownUI/Views/Blocks/TableBorderSelector.swift b/Sources/MarkdownUI/Views/Blocks/TableBorderSelector.swift index 9b85d8a0..fa006501 100644 --- a/Sources/MarkdownUI/Views/Blocks/TableBorderSelector.swift +++ b/Sources/MarkdownUI/Views/Blocks/TableBorderSelector.swift @@ -4,7 +4,11 @@ import SwiftUI /// /// You use a table border selector to select the visible borders when creating a ``TableBorderStyle``. public struct TableBorderSelector { - var rectangles: (_ tableBounds: TableBounds, _ borderWidth: CGFloat) -> [CGRect] + public var rectangles: (_ tableBounds: TableBounds, _ borderWidth: CGFloat) -> [CGRect] + + public init(rectangles: @escaping (_: TableBounds, _: CGFloat) -> [CGRect]) { + self.rectangles = rectangles + } } extension TableBorderSelector { diff --git a/Sources/MarkdownUI/Views/Blocks/TableBounds.swift b/Sources/MarkdownUI/Views/Blocks/TableBounds.swift index 2fc1eb9e..0b79a1fd 100644 --- a/Sources/MarkdownUI/Views/Blocks/TableBounds.swift +++ b/Sources/MarkdownUI/Views/Blocks/TableBounds.swift @@ -1,15 +1,15 @@ import SwiftUI -struct TableBounds { - var rowCount: Int { +public struct TableBounds { + public var rowCount: Int { self.rows.count } - var columnCount: Int { + public var columnCount: Int { self.columns.count } - let bounds: CGRect + public let bounds: CGRect private let rows: [(minY: CGFloat, height: CGFloat)] private let columns: [(minX: CGFloat, width: CGFloat)] @@ -50,20 +50,20 @@ struct TableBounds { self.columns = columns } - func bounds(forRow row: Int, column: Int) -> CGRect { + public func bounds(forRow row: Int, column: Int) -> CGRect { CGRect( origin: .init(x: self.columns[column].minX, y: self.rows[row].minY), size: .init(width: self.columns[column].width, height: self.rows[row].height) ) } - func bounds(forRow row: Int) -> CGRect { + public func bounds(forRow row: Int) -> CGRect { (0.. CGRect { + public func bounds(forColumn column: Int) -> CGRect { (0..