diff --git a/.gitignore b/.gitignore index 8ba8e0ead7..c49c6a1c26 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ fastlane/test_output Carthage Charts.framework.zip ChartsRealm.framework.zip +.swiftpm/ diff --git a/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift b/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift index 9965b89324..b36c3fe0b1 100644 --- a/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift +++ b/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift @@ -11,7 +11,9 @@ import Foundation import Charts - +#if canImport(UIKit) + import UIKit +#endif open class BalloonMarker: MarkerImage { diff --git a/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift b/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift index 6f286bf013..c0d62a3d19 100644 --- a/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift +++ b/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift @@ -11,6 +11,9 @@ import Foundation import Charts +#if canImport(UIKit) + import UIKit +#endif open class RadarMarkerView: MarkerView { diff --git a/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift b/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift index bc77c82206..f985bd50f0 100644 --- a/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift +++ b/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift @@ -6,6 +6,9 @@ import Foundation import Charts +#if canImport(UIKit) + import UIKit +#endif open class XYMarkerView: BalloonMarker { diff --git a/ChartsDemo-iOS/Swift/AppDelegate.swift b/ChartsDemo-iOS/Swift/AppDelegate.swift index b7752a9bea..ff723e6872 100644 --- a/ChartsDemo-iOS/Swift/AppDelegate.swift +++ b/ChartsDemo-iOS/Swift/AppDelegate.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { diff --git a/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift b/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift index 3a66e1cb6a..5c1c4b0a26 100644 --- a/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift +++ b/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift @@ -11,6 +11,9 @@ import Foundation import Charts +#if canImport(UIKit) + import UIKit +#endif open class BalloonMarker: MarkerImage { diff --git a/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift b/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift index 019196d5e8..8f7f09f3ab 100644 --- a/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift +++ b/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift @@ -11,6 +11,9 @@ import Foundation import Charts +#if canImport(UIKit) + import UIKit +#endif public class RadarMarkerView: MarkerView { @IBOutlet var label: UILabel! diff --git a/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift b/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift index 23bb965487..9fd1174bc9 100644 --- a/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift +++ b/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift @@ -8,6 +8,9 @@ import Foundation import Charts +#if canImport(UIKit) + import UIKit +#endif public class XYMarkerView: BalloonMarker { public var xAxisValueFormatter: IAxisValueFormatter diff --git a/ChartsDemo-iOS/Swift/DemoBaseViewController.swift b/ChartsDemo-iOS/Swift/DemoBaseViewController.swift index d96b07ef7f..444d1f4729 100644 --- a/ChartsDemo-iOS/Swift/DemoBaseViewController.swift +++ b/ChartsDemo-iOS/Swift/DemoBaseViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts enum Option { diff --git a/ChartsDemo-iOS/Swift/DemoListViewController.swift b/ChartsDemo-iOS/Swift/DemoListViewController.swift index 1322e488cb..f11ef9f528 100644 --- a/ChartsDemo-iOS/Swift/DemoListViewController.swift +++ b/ChartsDemo-iOS/Swift/DemoListViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif private struct ItemDef { let title: String diff --git a/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift index abfe17ef3c..45391a05b2 100644 --- a/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class AnotherBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift index 02fc03034a..5400646822 100644 --- a/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift @@ -6,8 +6,13 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts +#if canImport(UIKit) + import UIKit +#endif class BarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift index b53576fc79..064354021c 100644 --- a/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class BubbleChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift index d8fd334ca0..42460be98e 100644 --- a/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class CandleStickChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift index a2e105995e..c5dd3566c6 100644 --- a/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class ColoredLineChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift index e78aadaa96..8ec5263bf2 100644 --- a/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift @@ -6,8 +6,13 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts +#if canImport(UIKit) + import UIKit +#endif private let ITEM_COUNT = 12 diff --git a/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift index 257be284f1..c1a65a2d4f 100644 --- a/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts private class CubicLineSampleFillFormatter: IFillFormatter { diff --git a/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift index 541aa6080c..c02c5cafae 100644 --- a/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class HalfPieChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift index 850a6b6eab..ef77b9cab2 100644 --- a/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class HorizontalBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift index 38e51f79d9..43e5ff4f78 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class LineChart1ViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift index dc94f6c65b..d2ee8c8297 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class LineChart2ViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift index 7c515c352b..3d17d968a7 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class LineChartFilledViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift index 92258e15db..b5e14da3de 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class LineChartTimeViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift index 26d806d5e2..ca7f54a353 100644 --- a/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class MultipleBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift index 78a969c698..29c8efbb5e 100644 --- a/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class MultipleLinesChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift index dd7939bf4e..6585aad950 100644 --- a/ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class NegativeStackedBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift index e42982bc76..4f8cb3180b 100644 --- a/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class PieChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift index a25000739b..75b5d99faf 100644 --- a/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class PiePolylineChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift index ded4a0a31e..36771b97c0 100644 --- a/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class PositiveNegativeBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift index c46736f98d..79f308d66a 100644 --- a/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class RadarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift index 1e4a6fb741..b3d6907da7 100644 --- a/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class ScatterChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift index 28359e0301..918aef215a 100644 --- a/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class SinusBarChartViewController: DemoBaseViewController { diff --git a/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift index d3e3aa1634..87f3d64461 100644 --- a/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif import Charts class StackedBarChartViewController: DemoBaseViewController { diff --git a/Package.swift b/Package.swift index 6796c8899b..f2b367a73e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,15 +1,21 @@ -// swift-tools-version:4.0 +// swift-tools-version:5.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "Charts", + platforms: [ + .iOS(.v8), + .tvOS(.v9), + .macOS(.v10_11), + ], products: [ - .library(name: "Charts", type: .dynamic, targets: ["Charts"]) + .library( + name: "Charts", + targets: ["Charts"]), ], - dependencies: [], targets: [ - .target(name: "Charts", dependencies: []) + .target(name: "Charts") ], - swiftLanguageVersions: [5] + swiftLanguageVersions: [.v5] ) diff --git a/Source/Charts/Animation/Animator.swift b/Source/Charts/Animation/Animator.swift index b94b21f496..7d0afa1222 100644 --- a/Source/Charts/Animation/Animator.swift +++ b/Source/Charts/Animation/Animator.swift @@ -11,6 +11,7 @@ import Foundation import CoreGraphics +import QuartzCore @objc(ChartAnimatorDelegate) public protocol AnimatorDelegate diff --git a/Source/Charts/Charts/BarLineChartViewBase.swift b/Source/Charts/Charts/BarLineChartViewBase.swift index 2ae8256885..a4f385706c 100644 --- a/Source/Charts/Charts/BarLineChartViewBase.swift +++ b/Source/Charts/Charts/BarLineChartViewBase.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + /// Base-class of LineChart, BarChart, ScatterChart and CandleStickChart. open class BarLineChartViewBase: ChartViewBase, BarLineScatterCandleBubbleChartDataProvider, NSUIGestureRecognizerDelegate { diff --git a/Source/Charts/Charts/ChartViewBase.swift b/Source/Charts/Charts/ChartViewBase.swift index 0b58b26335..285e055bc9 100644 --- a/Source/Charts/Charts/ChartViewBase.swift +++ b/Source/Charts/Charts/ChartViewBase.swift @@ -13,6 +13,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + @objc public protocol ChartViewDelegate { diff --git a/Source/Charts/Charts/PieChartView.swift b/Source/Charts/Charts/PieChartView.swift index 1010434f9f..bc6dc4124f 100644 --- a/Source/Charts/Charts/PieChartView.swift +++ b/Source/Charts/Charts/PieChartView.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + /// View that represents a pie chart. Draws cake like slices. open class PieChartView: PieRadarChartViewBase { diff --git a/Source/Charts/Charts/PieRadarChartViewBase.swift b/Source/Charts/Charts/PieRadarChartViewBase.swift index bbdc8d826f..61ea101d67 100644 --- a/Source/Charts/Charts/PieRadarChartViewBase.swift +++ b/Source/Charts/Charts/PieRadarChartViewBase.swift @@ -11,6 +11,12 @@ import Foundation import CoreGraphics +import QuartzCore + +#if canImport(AppKit) +import AppKit +#endif + /// Base class of PieChartView and RadarChartView. open class PieRadarChartViewBase: ChartViewBase diff --git a/Source/Charts/Components/Description.swift b/Source/Charts/Components/Description.swift index 84990885ad..ac0246e576 100644 --- a/Source/Charts/Components/Description.swift +++ b/Source/Charts/Components/Description.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + @objc(ChartDescription) open class Description: ComponentBase { diff --git a/Source/Charts/Components/MarkerView.swift b/Source/Charts/Components/MarkerView.swift index e4d682ce84..bf65e67cf1 100644 --- a/Source/Charts/Components/MarkerView.swift +++ b/Source/Charts/Components/MarkerView.swift @@ -12,6 +12,10 @@ import Foundation import CoreGraphics +#if canImport(AppKit) +import AppKit +#endif + @objc(ChartMarkerView) open class MarkerView: NSUIView, IMarker { @@ -71,6 +75,7 @@ open class MarkerView: NSUIView, IMarker open class func viewFromXib(in bundle: Bundle = .main) -> MarkerView? { #if !os(OSX) + return bundle.loadNibNamed( String(describing: self), owner: nil, diff --git a/Source/Charts/Components/YAxis.swift b/Source/Charts/Components/YAxis.swift index 01e41b51af..f427810d9a 100644 --- a/Source/Charts/Components/YAxis.swift +++ b/Source/Charts/Components/YAxis.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + /// Class representing the y-axis labels settings and its entries. /// Be aware that not all features the YLabels class provides are suitable for the RadarChart. diff --git a/Source/Charts/Filters/DataApproximator+N.swift b/Source/Charts/Filters/DataApproximator+N.swift index 36bbeec424..b194955003 100644 --- a/Source/Charts/Filters/DataApproximator+N.swift +++ b/Source/Charts/Filters/DataApproximator+N.swift @@ -9,6 +9,7 @@ // import Foundation +import CoreGraphics extension CGPoint { fileprivate func distanceToLine(from linePoint1: CGPoint, to linePoint2: CGPoint) -> CGFloat { diff --git a/Source/Charts/Jobs/AnimatedViewPortJob.swift b/Source/Charts/Jobs/AnimatedViewPortJob.swift index 7375456664..1bdfedf5bd 100644 --- a/Source/Charts/Jobs/AnimatedViewPortJob.swift +++ b/Source/Charts/Jobs/AnimatedViewPortJob.swift @@ -11,6 +11,7 @@ import Foundation import CoreGraphics +import QuartzCore open class AnimatedViewPortJob: ViewPortJob { diff --git a/Source/Charts/Renderers/BarChartRenderer.swift b/Source/Charts/Renderers/BarChartRenderer.swift index e675ba2215..869c7b2ecd 100644 --- a/Source/Charts/Renderers/BarChartRenderer.swift +++ b/Source/Charts/Renderers/BarChartRenderer.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + open class BarChartRenderer: BarLineScatterCandleBubbleRenderer { /// A nested array of elements ordered logically (i.e not in visual/drawing order) for use with VoiceOver diff --git a/Source/Charts/Renderers/ChartDataRendererBase.swift b/Source/Charts/Renderers/ChartDataRendererBase.swift index 68905ff50a..abbbcb0df1 100644 --- a/Source/Charts/Renderers/ChartDataRendererBase.swift +++ b/Source/Charts/Renderers/ChartDataRendererBase.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + @objc(ChartDataRendererBase) open class DataRenderer: Renderer { diff --git a/Source/Charts/Renderers/HorizontalBarChartRenderer.swift b/Source/Charts/Renderers/HorizontalBarChartRenderer.swift index 309de7cf96..1b11373234 100644 --- a/Source/Charts/Renderers/HorizontalBarChartRenderer.swift +++ b/Source/Charts/Renderers/HorizontalBarChartRenderer.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + open class HorizontalBarChartRenderer: BarChartRenderer { private class Buffer diff --git a/Source/Charts/Renderers/PieChartRenderer.swift b/Source/Charts/Renderers/PieChartRenderer.swift index 6e37c8b0f7..b2cc85c48c 100644 --- a/Source/Charts/Renderers/PieChartRenderer.swift +++ b/Source/Charts/Renderers/PieChartRenderer.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + open class PieChartRenderer: DataRenderer { @objc open weak var chart: PieChartView? diff --git a/Source/Charts/Renderers/XAxisRenderer.swift b/Source/Charts/Renderers/XAxisRenderer.swift index 6ea1ba771d..2cb80bc2d9 100644 --- a/Source/Charts/Renderers/XAxisRenderer.swift +++ b/Source/Charts/Renderers/XAxisRenderer.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + @objc(ChartXAxisRenderer) open class XAxisRenderer: AxisRendererBase { diff --git a/Source/Charts/Renderers/YAxisRenderer.swift b/Source/Charts/Renderers/YAxisRenderer.swift index 4fb3dd2ef2..77791aeadd 100644 --- a/Source/Charts/Renderers/YAxisRenderer.swift +++ b/Source/Charts/Renderers/YAxisRenderer.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + @objc(ChartYAxisRenderer) open class YAxisRenderer: AxisRendererBase { diff --git a/Source/Charts/Renderers/YAxisRendererRadarChart.swift b/Source/Charts/Renderers/YAxisRendererRadarChart.swift index c98971e904..6d7cd21c0b 100644 --- a/Source/Charts/Renderers/YAxisRendererRadarChart.swift +++ b/Source/Charts/Renderers/YAxisRendererRadarChart.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + open class YAxisRendererRadarChart: YAxisRenderer { private weak var chart: RadarChartView? diff --git a/Source/Charts/Utils/ChartUtils.swift b/Source/Charts/Utils/ChartUtils.swift index 25ccfde3db..2a41bb48c7 100644 --- a/Source/Charts/Utils/ChartUtils.swift +++ b/Source/Charts/Utils/ChartUtils.swift @@ -12,6 +12,14 @@ import Foundation import CoreGraphics +#if canImport(UIKit) + import UIKit +#endif + +#if canImport(Cocoa) +import Cocoa +#endif + extension Comparable { func clamped(to range: ClosedRange) -> Self { if self > range.upperBound { diff --git a/Source/Charts/Utils/Platform+Accessibility.swift b/Source/Charts/Utils/Platform+Accessibility.swift index 35f4ee317c..47cd5e51e4 100644 --- a/Source/Charts/Utils/Platform+Accessibility.swift +++ b/Source/Charts/Utils/Platform+Accessibility.swift @@ -1,6 +1,9 @@ import Foundation #if os(iOS) || os(tvOS) +#if canImport(UIKit) + import UIKit +#endif internal func accessibilityPostLayoutChangedNotification(withElement element: Any? = nil) { @@ -92,6 +95,10 @@ extension NSUIView #if os(OSX) +#if canImport(AppKit) +import AppKit +#endif + internal func accessibilityPostLayoutChangedNotification(withElement element: Any? = nil) { guard let validElement = element else { return } diff --git a/Source/Charts/Utils/Platform.swift b/Source/Charts/Utils/Platform.swift index 3c11b32a4a..2eb4efd42e 100644 --- a/Source/Charts/Utils/Platform.swift +++ b/Source/Charts/Utils/Platform.swift @@ -4,7 +4,9 @@ import Foundation alike, and for the chart library's usage of the APIs it is often sufficient to typealias one to the other. The NSUI* types are aliased to either their UI* implementation (on iOS) or their NS* implementation (on OS X). */ #if os(iOS) || os(tvOS) -import UIKit +#if canImport(UIKit) + import UIKit +#endif public typealias NSUIFont = UIFont public typealias NSUIColor = UIColor