00001 #ifndef TRANSITION_H
00002 #define TRANSITION_H
00003
00004 class PasteTransition;
00005
00006 #include "edit.inc"
00007 #include "filexml.inc"
00008 #include "mwindow.inc"
00009 #include "messages.inc"
00010 #include "plugin.h"
00011 #include "sharedlocation.h"
00012
00013 class TransitionMenuItem : public BC_MenuItem
00014 {
00015 public:
00016 TransitionMenuItem(MWindow *mwindow, int audio, int video);
00017 ~TransitionMenuItem();
00018 int handle_event();
00019 int audio;
00020 int video;
00021
00022 };
00023
00024 class PasteTransition : public Thread
00025 {
00026 public:
00027 PasteTransition(MWindow *mwindow, int audio, int video);
00028 ~PasteTransition();
00029
00030 void run();
00031
00032 MWindow *mwindow;
00033 int audio, video;
00034 };
00035
00036
00037 class Transition : public Plugin
00038 {
00039 public:
00040 Transition(EDL *edl, Edit *edit, char *title, long unit_length);
00041
00042 Edit *edit;
00043
00044
00045
00046 void save_xml(FileXML *file);
00047 void load_xml(FileXML *file);
00048
00049
00050
00051
00052 Transition(Transition *that, Edit *edit);
00053 ~Transition();
00054
00055 KeyFrame* get_keyframe();
00056 int reset_parameters();
00057 int update_derived();
00058 Transition& operator=(Transition &that);
00059 Plugin& operator=(Plugin &that);
00060 Edit& operator=(Edit &that);
00061 int operator==(Transition &that);
00062 int operator==(Plugin &that);
00063 int operator==(Edit &that);
00064 int identical(Transition *that);
00065
00066
00067 int set_show_derived(int value) {};
00068
00069 int popup_transition(int x, int y);
00070
00071 int update_display();
00072
00073 int update_edit(int is_loading);
00074 char* default_title();
00075 void dump();
00076
00077 private:
00078
00079 void copy_from(Transition *that);
00080 };
00081
00082 #endif