Skip to content

Commit b4fab4c

Browse files
committed
Split padding/fixedspace layout components in to own file
1 parent b399644 commit b4fab4c

File tree

2 files changed

+42
-43
lines changed

2 files changed

+42
-43
lines changed

Sources/SwiftPlot/LayoutComponents/LayoutComponent.swift

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -23,46 +23,3 @@ public protocol LayoutComponent {
2323
///
2424
func draw(_ rect: Rect, measuredSize: Size, edge: RectEdge, renderer: Renderer)
2525
}
26-
27-
/// A `LayoutComponent` wrapper which adds padding to an internal `LayoutComponent`
28-
///
29-
private struct _Padded<T: LayoutComponent>: LayoutComponent {
30-
var base: T
31-
var padding: EdgeComponents<Float> = .zero
32-
33-
func measure(edge: RectEdge, _ renderer: Renderer) -> Size {
34-
var size = base.measure(edge: edge, renderer)
35-
size.width += padding.left + padding.right
36-
size.height += padding.top + padding.bottom
37-
return size
38-
}
39-
func draw(_ rect: Rect, measuredSize: Size, edge: RectEdge, renderer: Renderer) {
40-
var adjustedMeasuredSize = measuredSize
41-
adjustedMeasuredSize.width -= padding.left + padding.right
42-
adjustedMeasuredSize.height -= padding.top + padding.bottom
43-
let adjustedRect = rect.inset(by: padding)
44-
base.draw(adjustedRect, measuredSize: adjustedMeasuredSize, edge: edge, renderer: renderer)
45-
}
46-
}
47-
extension LayoutComponent {
48-
49-
/// Returns a new `LayoutComponent` which adds the given padding to this `LayoutComponent`.
50-
///
51-
public func padding(_ padding: EdgeComponents<Float>) -> LayoutComponent {
52-
return _Padded(base: self, padding: padding)
53-
}
54-
}
55-
56-
struct FixedSpace: LayoutComponent {
57-
var size: Float
58-
func measure(edge: RectEdge, _ renderer: Renderer) -> Size {
59-
if edge.isHorizontal {
60-
// Only the height is important, so we can say width = 1.
61-
return Size(width: 1, height: size)
62-
} else {
63-
return Size(width: size, height: 1)
64-
}
65-
}
66-
func draw(_ rect: Rect, measuredSize: Size, edge: RectEdge, renderer: Renderer) {
67-
}
68-
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
/// A `LayoutComponent` wrapper which adds padding to an internal `LayoutComponent`
3+
///
4+
private struct _Padded<T: LayoutComponent>: LayoutComponent {
5+
var base: T
6+
var padding: EdgeComponents<Float> = .zero
7+
8+
func measure(edge: RectEdge, _ renderer: Renderer) -> Size {
9+
var size = base.measure(edge: edge, renderer)
10+
size.width += padding.left + padding.right
11+
size.height += padding.top + padding.bottom
12+
return size
13+
}
14+
func draw(_ rect: Rect, measuredSize: Size, edge: RectEdge, renderer: Renderer) {
15+
var adjustedMeasuredSize = measuredSize
16+
adjustedMeasuredSize.width -= padding.left + padding.right
17+
adjustedMeasuredSize.height -= padding.top + padding.bottom
18+
let adjustedRect = rect.inset(by: padding)
19+
base.draw(adjustedRect, measuredSize: adjustedMeasuredSize, edge: edge, renderer: renderer)
20+
}
21+
}
22+
extension LayoutComponent {
23+
24+
/// Returns a new `LayoutComponent` which adds the given padding to this `LayoutComponent`.
25+
///
26+
public func padding(_ padding: EdgeComponents<Float>) -> LayoutComponent {
27+
return _Padded(base: self, padding: padding)
28+
}
29+
}
30+
31+
struct FixedSpace: LayoutComponent {
32+
var size: Float
33+
func measure(edge: RectEdge, _ renderer: Renderer) -> Size {
34+
if edge.isHorizontal {
35+
// Only the height is important, so we can say width = 1.
36+
return Size(width: 1, height: size)
37+
} else {
38+
return Size(width: size, height: 1)
39+
}
40+
}
41+
func draw(_ rect: Rect, measuredSize: Size, edge: RectEdge, renderer: Renderer) { }
42+
}

0 commit comments

Comments
 (0)