OSDN Git Service

first commit
[eliscolors/main.git] / ElisController.h
1 //
2 //  ElisController.h
3 //  Elis Colors
4 //
5 //  Created by 柳 on 09/09/12.
6 //  Copyright 2009 __MyCompanyName__. All rights reserved.
7 //
8
9 // Elisの一番たいせつなコントローラ。
10 // ElisLayerへのアクセスはここを経由して。(KVO以外)
11
12 // もう一段モデルを噛ませたほうがよかったなあといまさら。
13
14 #import <Cocoa/Cocoa.h>
15 #import "ElisBase.h"
16 #import "ElisMedia.h"
17 #import "ElisLayer.h"
18 #import "ElisAnimationLayerFactory.h"
19 #import "ElisTimeLineController.h"
20 #import "ElisCustomFilter.h"
21 #import "ElisWriter.h"
22
23 @class ElisMainView, ElisTimeLineController, ElisPropertyTableController;
24
25 CGRect ProjectMovieSize;
26 QTTime globalCurrentTime;
27 BOOL recording;
28
29 @interface ElisController : NSObject {
30     NSMutableArray* layers;  // 全てのレイヤーはここに束縛
31     IBOutlet ElisMainView* _mainView;
32     ElisAnimationLayerFactory* _animationLayerFactory;
33     IBOutlet ElisTimeLineController* _timeLineController;
34     IBOutlet ElisPropertyTableController* _tableController;
35     
36     float hipTime;
37     QTTime _currentTime;
38     BOOL playing; // YES = 再生中
39     NSGarbageCollector* collector; // GCの制御用。
40     
41     IBOutlet NSSlider* timeSlider;
42     IBOutlet NSTextField* timeCodeField;
43 }
44
45 - (float)getHipTime;
46
47 - (IBAction)startPlay:(id)sender;
48 - (IBAction)stopPlay:(id)sender;
49 - (IBAction)timeSliderChanged:(id)sender;
50 - (void)moveSliderTo:(QTTime)time;
51 - (void)refresh;
52 - (IBAction)deleteSelectLayer:(id)sender;
53 - (IBAction)recordingStateChanged:(id)sender;
54 - (IBAction)removeAllKeyFrame:(id)sender;
55 - (IBAction)removeEffect:(id)sender;
56
57 - (IBAction)writeToFile:(id)sender;
58
59 @end