Add edgeStyle to AnimatedCircularChart and CircularChart
This commit is contained in:
		
							parent
							
								
									c98ed04297
								
							
						
					
					
						commit
						de9f37138a
					
				| @ -14,6 +14,15 @@ enum CircularChartType { | ||||
|   Radial, | ||||
| } | ||||
| 
 | ||||
| /// Determines how the ends of a chart's segments should be drawn. | ||||
| enum SegmentEdgeStyle { | ||||
|   /// Segments begin and end with a flat edge. | ||||
|   Flat, | ||||
| 
 | ||||
|   /// Segments begin and end with a semi-circle. | ||||
|   Round, | ||||
| } | ||||
| 
 | ||||
| class AnimatedCircularChart extends StatefulWidget { | ||||
|   AnimatedCircularChart({ | ||||
|     Key key, | ||||
| @ -26,8 +35,8 @@ class AnimatedCircularChart extends StatefulWidget { | ||||
|     this.startAngle = _kStartAngle, | ||||
|     this.holeLabel, | ||||
|     this.labelStyle, | ||||
|   }) | ||||
|       : assert(size != null), | ||||
|     this.edgeStyle = SegmentEdgeStyle.Flat, | ||||
|   })  : assert(size != null), | ||||
|         super(key: key); | ||||
| 
 | ||||
|   /// The size of the bounding box this chart will be constrained to. | ||||
| @ -91,6 +100,11 @@ class AnimatedCircularChart extends StatefulWidget { | ||||
|   /// [ThemeData.textTheme.body2] text style. | ||||
|   final TextStyle labelStyle; | ||||
| 
 | ||||
|   /// The type of segment edges to be drawn. | ||||
|   /// | ||||
|   /// Defaults to [SegmentEdgeStyle.Flat]. | ||||
|   final SegmentEdgeStyle edgeStyle; | ||||
| 
 | ||||
|   /// The state from the closest instance of this class that encloses the given context. | ||||
|   /// | ||||
|   /// This method is typically used by [AnimatedCircularChart] item widgets that insert or | ||||
| @ -165,6 +179,7 @@ class AnimatedCircularChartState extends State<AnimatedCircularChart> | ||||
|         percentageValues: widget.percentageValues, | ||||
|         holeRadius: widget.holeRadius, | ||||
|         startAngle: widget.startAngle, | ||||
|         edgeStyle: widget.edgeStyle, | ||||
|       ), | ||||
|     ); | ||||
|     _animation.forward(); | ||||
| @ -231,6 +246,7 @@ class AnimatedCircularChartState extends State<AnimatedCircularChart> | ||||
|           percentageValues: widget.percentageValues, | ||||
|           holeRadius: widget.holeRadius, | ||||
|           startAngle: widget.startAngle, | ||||
|           edgeStyle: widget.edgeStyle, | ||||
|         ), | ||||
|       ); | ||||
|       _animation.forward(from: 0.0); | ||||
|  | ||||
| @ -9,10 +9,15 @@ import 'package:flutter_circular_chart/src/tween.dart'; | ||||
| class CircularChart { | ||||
|   static const double _kStackWidthFraction = 0.75; | ||||
| 
 | ||||
|   CircularChart(this.stacks, this.chartType); | ||||
|   CircularChart( | ||||
|     this.stacks, | ||||
|     this.chartType, { | ||||
|     this.edgeStyle = SegmentEdgeStyle.Flat, | ||||
|   }); | ||||
| 
 | ||||
|   final List<CircularChartStack> stacks; | ||||
|   final CircularChartType chartType; | ||||
|   final SegmentEdgeStyle edgeStyle; | ||||
| 
 | ||||
|   factory CircularChart.empty({@required CircularChartType chartType}) { | ||||
|     return new CircularChart(<CircularChartStack>[], chartType); | ||||
| @ -27,6 +32,7 @@ class CircularChart { | ||||
|     Map<String, int> stackRanks, | ||||
|     Map<String, int> entryRanks, | ||||
|     double holeRadius, | ||||
|     SegmentEdgeStyle edgeStyle, | ||||
|   }) { | ||||
|     final double _holeRadius = holeRadius ?? size.width / (2 + data.length); | ||||
|     final double stackDistance = | ||||
| @ -47,7 +53,7 @@ class CircularChart { | ||||
|           ), | ||||
|     ); | ||||
| 
 | ||||
|     return new CircularChart(stacks, chartType); | ||||
|     return new CircularChart(stacks, chartType, edgeStyle: edgeStyle); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -63,5 +69,6 @@ class CircularChartTween extends Tween<CircularChart> { | ||||
|   CircularChart lerp(double t) => new CircularChart( | ||||
|         _stacksTween.lerp(t), | ||||
|         begin.chartType, | ||||
|         edgeStyle: end.edgeStyle, | ||||
|       ); | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Victor Choueiri
						Victor Choueiri