1 class kryScript; 2 3 class kryEvent : public kryObject 4 { 5 public: 6 kryEvent(); 7 virtual ~kryEvent(); 8 9 enum event_type 10 { 11 EVENT_BLANK = 1, 12 EVENT_DIALOG = 2, 13 EVENT_COMMENT_DIALOG = 4, 14 EVENT_COMMENT_STRING = 8, 15 EVENT_COMMENT_BLANK = 16, 16 EVENT_KARAOKE_TEXT = 32, 17 EVENT_KARAOKE_TIME = 64, 18 }; 19 20 unsigned long GetStart(); 21 static unsigned long GetStartStatic(kryEvent *event); 22 unsigned long GetEnd(); 23 static unsigned long GetEndStatic(kryEvent *event); 24 25 void SetText(char *text); 26 static void SetTextStatic(kryEvent *event, char *text); 27 char *GetText(); 28 static char *GetTextStatic(kryEvent *event); 29 30 void SetType(enum event_type type); 31 static void SetTypeStatic(kryEvent *event, enum event_type type); 32 void SetTypeSub(enum event_type type); 33 34 35 static char *GetTypeString(enum event_type type); 36 char *GetTypeString(); 37 char *GetTypeSubString(); 38 enum event_type GetType(); 39 static enum event_type GetTypeStatic(kryEvent *event); 40 enum event_type GetTypeSub(); 41 42 43 void SetIndex(int index); 44 int GetIndex(); 45 46 /*** THESE FUNCTIONS ARE ONLY FOR SETTING THE INITIAL VALUES ***/ 47 /*** SetTime() must be used in other cases (or collision detection will not work properly ***/ 48 void SetStart(int time); 49 static void SetStartStatic(kryEvent *event, int time); 50 void SetEnd(int time); 51 static void SetEndStatic(kryEvent *event, int time); 52 53 void SetTime(unsigned long start, unsigned long end); 54 55 friend GList *sub_ssa_build_event_list(char *buffer); 56 //friend char *sub_ssa_write_to(kryScript *script, char *filename); 57 58 virtual kryEvent *Copy(); 59 60 virtual gboolean IsDetailed(); 61 62 enum 63 { 64 SIGNAL_BEFORE_TIME_CHANGED, 65 SIGNAL_AFTER_TIME_CHANGED, 66 SIGNAL_BEFORE_LAYER_CHANGED, 67 SIGNAL_AFTER_LAYER_CHANGED, 68 SIGNAL_BEFORE_NAME_CHANGED, 69 SIGNAL_AFTER_NAME_CHANGED, 70 SIGNAL_COUNT 71 }; 72 73 74 protected: 75 unsigned long m_start; 76 unsigned long m_end; 77 78 unsigned int m_index; 79 80 enum event_type m_type; 81 enum event_type m_type_sub; // only used for BLANK main type 82 83 char *m_text; 84 }; 85 86 87