// // ElisAnimationLayerFactory.m // Elis Colors // // Created by 柳 on 09/09/12. // Copyright 2009 __MyCompanyName__. All rights reserved. // #import "ElisAnimationLayerFactory.h" @implementation ElisAnimationLayerFactory - (id)init { bundle = [NSBundle mainBundle]; mediaImage = [[NSBitmapImageRep imageRepWithContentsOfFile:[bundle pathForResource:@"skyblue" ofType:@"jpg"]] CGImage]; return self; } - (CALayer*)createNewMovieLayer:(float)d name:(NSString*)name { CALayer* layer = [CALayer layer]; // layer.contents = mediaImage; // なぜかGCされる mediaImage = [[NSBitmapImageRep imageRepWithContentsOfFile:[bundle pathForResource:@"skyblue" ofType:@"jpg"]] CGImage]; layer.contents = (id)mediaImage; layer.opacity = 0.75; // [layer setValue:(id)mediaImage forKey:@"contents"]; layer.frame = CGRectMake(0, 0, d*timeLineScale, 50); CATextLayer* textLayer = [CATextLayer layer]; textLayer.string = name; textLayer.font = @"HiraKakuPro-W3"; textLayer.fontSize = 26.0; textLayer.foregroundColor = CGColorCreateGenericRGB(1.0, 1.0, 1.0, 1.0); textLayer.frame = layer.frame; layer.masksToBounds = NO; [layer addSublayer:textLayer]; [layer setValue:[NSNumber numberWithBool:NO] forKey:@"have keyframeLayer"]; return layer; } - (CALayer*)createKeyframeLayerWithLayer:(CALayer*)layer { CALayer* newLayer = [CALayer layer]; CGRect r = layer.frame; r.origin.y = r.size.height; r.size.height = r.size.height*2; r.origin.x = 0; newLayer.frame = r; parentLayer = layer; return newLayer; } - (CALayer*)createKeyframeLevelLayer { CALayer* miniLayer = [CALayer layer]; miniLayer.frame = CGRectMake(0, 0, MINI_LAYER_WIDTH, 0); miniLayer.contents = parentLayer.contents; miniLayer.opacity = 0.6; return miniLayer; } - (void)removeParentLayer { parentLayer = nil; // 参照を切る } @end