Mercurial > public > stock-charts
annotate Sources/StockCharts/CapsuleChart/CapsuleChartView.swift @ 110:b4901499ad40
Aligned Capsules
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Sun, 04 Jul 2021 17:04:17 +0100 |
parents | 957989b1068d |
children | 5057c45046c1 |
rev | line source |
---|---|
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // CapsuleChartView.swift |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // StockCharts |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 5/6/21. |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 public struct CapsuleChartView: View { |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 public var percentageOfWidth: CGFloat |
108
f53d8b9ca92b
Custom style implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
12 public var style: CapsuleChartStyle |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 |
108
f53d8b9ca92b
Custom style implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
14 public init(percentageOfWidth: CGFloat, style: CapsuleChartStyle) { |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 self.percentageOfWidth = percentageOfWidth |
108
f53d8b9ca92b
Custom style implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
16 self.style = style |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
17 } |
108
f53d8b9ca92b
Custom style implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
18 |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 public var body: some View { |
109
957989b1068d
Fixes GeometryReader alignment
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
20 GeometryReader { proxy in |
110
b4901499ad40
Aligned Capsules
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
109
diff
changeset
|
21 ZStack(alignment: .leading) { |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
22 Group { |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
23 Capsule() |
106
0c0d38dca6d8
Change colours to native swiftUI
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
103
diff
changeset
|
24 .foregroundColor(Color.gray) |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
25 .opacity(0.2) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 Capsule() |
108
f53d8b9ca92b
Custom style implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
106
diff
changeset
|
28 .foregroundColor(style.capsuleColor) |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
29 .frame(width: proxy.size.width * percentageOfWidth) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
30 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
31 .frame(height: 10) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
32 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
33 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
34 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
35 } |