Mercurial > public > stock-charts
annotate Sources/StockCharts/CapsuleChart/CapsuleChartView.swift @ 103:766a1169564b
Add WatchOS compatability
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Sun, 27 Jun 2021 16:32:23 +0200 |
parents | 3e94c6721a6a |
children | 0c0d38dca6d8 |
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 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 public init(percentageOfWidth: CGFloat) { |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 self.percentageOfWidth = percentageOfWidth |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 public var body: some View { |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
17 ZStack { |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
18 GeometryReader { proxy in |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 Group { |
103
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
20 #if os(iOS) |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 Capsule() |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
22 .foregroundColor(Color(.systemGray)) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
23 .opacity(0.2) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
24 |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
25 Capsule() |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 .foregroundColor(Color(.systemBlue)) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 .frame(width: proxy.size.width * percentageOfWidth) |
103
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
28 #elseif os(watchOS) |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
29 Capsule() |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
30 .foregroundColor(Color(.gray)) |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
31 .opacity(0.2) |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
32 |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
33 Capsule() |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
34 .foregroundColor(Color(.blue)) |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
35 .frame(width: proxy.size.width * percentageOfWidth) |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
36 #endif |
766a1169564b
Add WatchOS compatability
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
89
diff
changeset
|
37 |
89
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
38 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
39 .frame(height: 10) |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
40 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
41 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
42 } |
3e94c6721a6a
Implement CapsuleChartView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
43 } |