5 // Created by 柳 on 09/09/12.
6 // Copyright 2009 __MyCompanyName__. All rights reserved.
9 #import <Cocoa/Cocoa.h>
12 #import "ElisEffect.h"
14 // Elisの中核となるデータ構造。モデル。
15 // Old ElisのLayer+Trackに相当。
19 @interface ElisLayer : NSObject {
20 ElisMedia* media; // メディアオブジェクト
21 int trackNumber; // トラック番号。0から
26 NSMutableArray* effects;
27 ElisKeyframe *pxKeyframe, *pyKeyframe; // Positionのキーフレーム
30 //@property (assign) QTTimeRange mapping; // マッピング情報。(QTTimeRange)
31 @property (assign) ElisMedia* media;
32 //@property CALayer* alayer;
33 //@property (assign) NSValue* offset;
35 - (void)changeMapping;
36 - (void)setAlayer:(CALayer *)layer;
38 - (NSPoint)getPositionForTime:(QTTime)time;
39 - (BOOL)isInclude:(QTTime)time;
40 - (CIImage*)getEffectedImage:(CVTimeStamp*)timeStamp forTime:(QTTime)time;
43 - (QTTimeRange)mapping;
44 - (CIImage*)getEffectedImageWithoutStamp:(QTTime)time;
46 - (BOOL)canChangeOffset:(float)df;
47 - (void)changeOffset:(float)df;
48 - (BOOL)canChangeMapping:(CGRect)rect;
50 - (CIImage*)applyEffects:(CIImage*)image forTime:(QTTime)time;
51 - (void)addEffect:(NSString*)name;
52 - (QTTime)convertToInnnerTime:(QTTime)globalTime;
54 - (void)createPropertyTableDataSource:(NSMutableArray*)t_effects
55 property:(NSMutableArray*)t_propertyNames
56 value:(NSMutableArray*)t_valueNames;
58 - (void)setPositionY:(float)y forTime:(QTTime)time;
59 - (void)setPositionX:(float)x forTime:(QTTime)time;
61 - (QTTime)plusOffsetTime:(QTTime)time;
62 - (void)removePositionXKeyframe;
63 - (void)removePositionYKerframe;