KCSP/ProductApp/Pods/ICGVideoTrimmer/Source/ICGRulerView.m

79 lines
2.4 KiB
Objective-C

//
// ICGRulerView.m
// ICGVideoTrimmer
//
// Created by Huong Do on 1/25/15.
// Copyright (c) 2015 ichigo. All rights reserved.
//
#import "ICGRulerView.h"
@implementation ICGRulerView
- (instancetype)initWithFrame:(CGRect)frame widthPerSecond:(CGFloat)width themeColor:(UIColor *)color
{
self = [super initWithFrame:frame];
if (self) {
_widthPerSecond = width;
_themeColor = color;
}
return self;
}
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat leftMargin = 10;
CGFloat topMargin = 0;
CGFloat height = CGRectGetHeight(self.frame);
CGFloat width = CGRectGetWidth(self.frame);
CGFloat minorTickSpace = self.widthPerSecond;
NSInteger multiple = 5;
CGFloat majorTickLength = 12;
CGFloat minorTickLength = 7;
CGFloat baseY = topMargin + height;
CGFloat minorY = baseY - minorTickLength;
CGFloat majorY = baseY - majorTickLength;
NSInteger step = 0;
for (CGFloat x = leftMargin; x <= (leftMargin + width); x += minorTickSpace) {
CGContextMoveToPoint(context, x, baseY);
CGContextSetFillColorWithColor(context, self.themeColor.CGColor);
if (step % multiple == 0) {
CGContextFillRect(context, CGRectMake(x, majorY, 1.75, majorTickLength));
UIFont *font = [UIFont systemFontOfSize:11];
UIColor *textColor = self.themeColor;
NSDictionary *stringAttrs = @{NSFontAttributeName:font, NSForegroundColorAttributeName:textColor};
NSInteger minutes = step / 60;
NSInteger seconds = step % 60;
NSAttributedString* attrStr;
if (minutes > 0) {
attrStr = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%ld:%02ld", (long) minutes, (long) seconds] attributes:stringAttrs];
}
else {
attrStr = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@":%02ld", (long) seconds] attributes:stringAttrs];
}
[attrStr drawAtPoint:CGPointMake(x-7, majorY - 15)];
} else {
CGContextFillRect(context, CGRectMake(x, minorY, 1.0, minorTickLength));
}
step++;
}
}
@end