diff --git a/DGCharts.podspec b/DGCharts.podspec index 7ba0dea717..a54271ce34 100644 --- a/DGCharts.podspec +++ b/DGCharts.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = "12.0" s.tvos.deployment_target = "12.0" s.osx.deployment_target = "10.13" - s.source = { :git => "https://github.com/danielgindi/Charts.git", :tag => "#{s.version}" } + s.source = { :git => "https://github.com/Khanak1521/Charts.git", :tag => "#{s.version}" } s.default_subspec = "Core" s.swift_version = '5.7' s.cocoapods_version = '>= 1.5.0' diff --git a/Source/Charts/Charts/BarChartView.swift b/Source/Charts/Charts/BarChartView.swift index 92332774d7..416f4117a3 100644 --- a/Source/Charts/Charts/BarChartView.swift +++ b/Source/Charts/Charts/BarChartView.swift @@ -20,12 +20,15 @@ open class BarChartView: BarLineChartViewBase, BarChartDataProvider /// if set to true, a grey area is drawn behind each bar that indicates the maximum value private var _drawBarShadowEnabled = false + public var barChartCornerRedius : Int = 0 internal override func initialize() { super.initialize() - - renderer = BarChartRenderer(dataProvider: self, animator: chartAnimator, viewPortHandler: viewPortHandler) + } + + public func initializeChart() { + renderer = BarChartRenderer(dataProvider: self, animator: chartAnimator, viewPortHandler: viewPortHandler,barChartCornerRedius: self.barChartCornerRedius) self.highlighter = BarHighlighter(chart: self) diff --git a/Source/Charts/Renderers/BarChartRenderer.swift b/Source/Charts/Renderers/BarChartRenderer.swift index 2aa69a828f..743b38302f 100644 --- a/Source/Charts/Renderers/BarChartRenderer.swift +++ b/Source/Charts/Renderers/BarChartRenderer.swift @@ -42,13 +42,16 @@ open class BarChartRenderer: BarLineScatterCandleBubbleRenderer private typealias Buffer = [CGRect] + public var barChartCornerRedius : Int = 0 + @objc open weak var dataProvider: BarChartDataProvider? - @objc public init(dataProvider: BarChartDataProvider, animator: Animator, viewPortHandler: ViewPortHandler) + @objc public init(dataProvider: BarChartDataProvider, animator: Animator, viewPortHandler: ViewPortHandler, barChartCornerRedius : Int = 0) { super.init(animator: animator, viewPortHandler: viewPortHandler) self.dataProvider = dataProvider + self.barChartCornerRedius = barChartCornerRedius } // [CGRect] per dataset @@ -379,7 +382,10 @@ open class BarChartRenderer: BarLineScatterCandleBubbleRenderer context.setFillColor(dataSet.color(atIndex: j).cgColor) } - context.fill(barRect) + let rectCorners: UIRectCorner = [.topLeft, .topRight] + let bezierPath = UIBezierPath(roundedRect: barRect, byRoundingCorners: rectCorners, cornerRadii: CGSize(width: self.barChartCornerRedius, height: self.barChartCornerRedius)) //(roundedRect: barRect, byRoundingCorners: rectCorners, cornerRadi: 5) + context.addPath(bezierPath.cgPath) + context.drawPath(using: .fill) if drawBorder { diff --git a/Source/Charts/Renderers/HorizontalBarChartRenderer.swift b/Source/Charts/Renderers/HorizontalBarChartRenderer.swift index d2fed814f3..78a24b86f0 100644 --- a/Source/Charts/Renderers/HorizontalBarChartRenderer.swift +++ b/Source/Charts/Renderers/HorizontalBarChartRenderer.swift @@ -24,7 +24,7 @@ open class HorizontalBarChartRenderer: BarChartRenderer var rects = [CGRect]() } - public override init(dataProvider: BarChartDataProvider, animator: Animator, viewPortHandler: ViewPortHandler) + public override init(dataProvider: BarChartDataProvider, animator: Animator, viewPortHandler: ViewPortHandler, barChartCornerRedius : Int = 0) { super.init(dataProvider: dataProvider, animator: animator, viewPortHandler: viewPortHandler) }