#import <UIKit/UIKit.h>
@interface DTGlowingLabel : UILabel
{
UIColor *_outLineColor;
UIColor *_insideColor;
UIColor *b_lurColor;
}
@property (nonatomic, retain) UIColor *outLineColor;
@property (nonatomic, retain) UIColor *insideColor;
@property (nonatomic, retain) UIColor *blurColor;
@end
#import "DTGlowingLabel.h"
@implementation DTGlowingLabel
@synthesize insideColor = _insideColor;
@synthesize outLineColor = _outLineColor;
@synthesize blurColor = _blurColor;
- (id) init
{
if(self=[super init])
{
}
return self;
}
- (void) drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(ctx, _outLineColor.CGColor);
CGContextSetFillColorWithColor(ctx, _insideColor.CGColor);
CGContextSetLineWidth(ctx, self.font.pointSize/60.0);
CGContextSetShadowWithColor(ctx, CGSizeMake(0, 0), self.font.pointSize / 10.0, _blurColor.CGColor);
CGTextDrawingMode mode = (_outLineColor==nil)? kCGTextFill: ((_insideColor==nil)?kCGTextStroke:kCGTextFillStroke);
CGContextSetTextDrawingMode(ctx, mode);
[self.text drawInRect:self.bounds withFont:self.font lineBreakMode:self.lineBreakMode alignment:self.textAlignment];
}
- (void)dealloc
{
[super dealloc];
[self.insideColor release];
[self.outLineColor release];
[self.blurColor release];
}
@end