1#import "_CPTPlainBlackTheme.h" 2 3#import "CPTXYGraph.h" 4#import "CPTColor.h" 5#import "CPTGradient.h" 6#import "CPTFill.h" 7#import "CPTPlotAreaFrame.h" 8#import "CPTXYPlotSpace.h" 9#import "CPTUtilities.h" 10#import "CPTXYAxisSet.h" 11#import "CPTXYAxis.h" 12#import "CPTMutableLineStyle.h" 13#import "CPTMutableTextStyle.h" 14#import "CPTBorderedLayer.h" 15#import "CPTExceptions.h" 16 17NSString * const kCPTPlainBlackTheme = @"Plain Black"; ///< Plain black theme. 18 19/** @brief Creates a CPTXYGraph instance formatted with black backgrounds and white lines. 20 **/ 21@implementation _CPTPlainBlackTheme 22 23+(void)load 24{ 25 [self registerTheme:self]; 26} 27 28+(NSString *)name 29{ 30 return kCPTPlainBlackTheme; 31} 32 33#pragma mark - 34 35-(void)applyThemeToBackground:(CPTXYGraph *)graph 36{ 37 graph.fill = [CPTFill fillWithColor:[CPTColor blackColor]]; 38} 39 40-(void)applyThemeToPlotArea:(CPTPlotAreaFrame *)plotAreaFrame 41{ 42 plotAreaFrame.fill = [CPTFill fillWithColor:[CPTColor blackColor]]; 43 44 CPTMutableLineStyle *borderLineStyle = [CPTMutableLineStyle lineStyle]; 45 borderLineStyle.lineColor = [CPTColor whiteColor]; 46 borderLineStyle.lineWidth = 1.0; 47 48 plotAreaFrame.borderLineStyle = borderLineStyle; 49 plotAreaFrame.cornerRadius = 0.0; 50} 51 52-(void)applyThemeToAxisSet:(CPTXYAxisSet *)axisSet 53{ 54 CPTMutableLineStyle *majorLineStyle = [CPTMutableLineStyle lineStyle]; 55 majorLineStyle.lineCap = kCGLineCapRound; 56 majorLineStyle.lineColor = [CPTColor whiteColor]; 57 majorLineStyle.lineWidth = 3.0; 58 59 CPTMutableLineStyle *minorLineStyle = [CPTMutableLineStyle lineStyle]; 60 minorLineStyle.lineColor = [CPTColor whiteColor]; 61 minorLineStyle.lineWidth = 3.0; 62 63 CPTXYAxis *x = axisSet.xAxis; 64 CPTMutableTextStyle *whiteTextStyle = [[[CPTMutableTextStyle alloc] init] autorelease]; 65 whiteTextStyle.color = [CPTColor whiteColor]; 66 whiteTextStyle.fontSize = 14.0; 67 CPTMutableTextStyle *minorTickWhiteTextStyle = [[[CPTMutableTextStyle alloc] init] autorelease]; 68 minorTickWhiteTextStyle.color = [CPTColor whiteColor]; 69 minorTickWhiteTextStyle.fontSize = 12.0; 70 71 x.labelingPolicy = CPTAxisLabelingPolicyFixedInterval; 72 x.majorIntervalLength = CPTDecimalFromDouble(0.5); 73 x.orthogonalCoordinateDecimal = CPTDecimalFromDouble(0.0); 74 x.tickDirection = CPTSignNone; 75 x.minorTicksPerInterval = 4; 76 x.majorTickLineStyle = majorLineStyle; 77 x.minorTickLineStyle = minorLineStyle; 78 x.axisLineStyle = majorLineStyle; 79 x.majorTickLength = 7.0; 80 x.minorTickLength = 5.0; 81 x.labelTextStyle = whiteTextStyle; 82 x.minorTickLabelTextStyle = whiteTextStyle; 83 x.titleTextStyle = whiteTextStyle; 84 85 CPTXYAxis *y = axisSet.yAxis; 86 y.labelingPolicy = CPTAxisLabelingPolicyFixedInterval; 87 y.majorIntervalLength = CPTDecimalFromDouble(0.5); 88 y.minorTicksPerInterval = 4; 89 y.orthogonalCoordinateDecimal = CPTDecimalFromDouble(0.0); 90 y.tickDirection = CPTSignNone; 91 y.majorTickLineStyle = majorLineStyle; 92 y.minorTickLineStyle = minorLineStyle; 93 y.axisLineStyle = majorLineStyle; 94 y.majorTickLength = 7.0; 95 y.minorTickLength = 5.0; 96 y.labelTextStyle = whiteTextStyle; 97 y.minorTickLabelTextStyle = minorTickWhiteTextStyle; 98 y.titleTextStyle = whiteTextStyle; 99} 100 101#pragma mark - 102#pragma mark NSCoding methods 103 104-(Class)classForCoder 105{ 106 return [CPTTheme class]; 107} 108 109@end 110