Skip to content

Commit 2b7c9f3

Browse files
committed
Adding method to create a CPTMutableLineStyle from a CPTLineStyle.
1 parent ef23eae commit 2b7c9f3

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

‎framework/Source/CPTMutableLineStyle.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@
1414
@property (nonatomic, readwrite, strong) CPTFill *lineFill;
1515
@property (nonatomic, readwrite, strong) CPTGradient *lineGradient;
1616

17+
+ (instancetype)lineStyleWithStyle:(CPTLineStyle*)lineStyle;
18+
1719
@end

‎framework/Source/CPTMutableLineStyle.m‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,28 @@ @implementation CPTMutableLineStyle
5858
**/
5959
@dynamic lineGradient;
6060

61+
/** @brief Creates and returns a new CPTMutableLineStyle instance initialized from an existing CPTLineStyle.
62+
*
63+
* The line style will be initalized with values from the given lineStyle, useful to create
64+
* a mutable copy from an immutable instance.
65+
*
66+
* @param lineStyle An existing CPTLineStyle.
67+
* @return A new CPTMutableLineStyle instance.
68+
**/
69+
+ (instancetype)lineStyleWithStyle:(CPTLineStyle*)lineStyle
70+
{
71+
CPTMutableLineStyle *newStyle = [[CPTMutableLineStyle alloc] init];
72+
newStyle.dashPattern = [NSArray arrayWithArray:lineStyle.dashPattern];
73+
newStyle.lineCap = lineStyle.lineCap;
74+
newStyle.lineColor = lineStyle.lineColor;
75+
newStyle.lineFill = lineStyle.lineFill;
76+
newStyle.lineGradient = lineStyle.lineGradient;
77+
newStyle.lineJoin = lineStyle.lineJoin;
78+
newStyle.lineWidth = lineStyle.lineWidth;
79+
newStyle.miterLimit = lineStyle.miterLimit;
80+
newStyle.patternPhase = lineStyle.patternPhase;
81+
82+
return newStyle;
83+
}
84+
6185
@end

0 commit comments

Comments
 (0)