00001 #ifndef AVC1394TRANSPORT_H
00002 #define AVC1394TRANSPORT_H
00003
00004 #include "avc1394control.h"
00005 #include "mwindow.h"
00006 #include "theme.h"
00007
00008 class AVC1394TransportThread;
00009 class AVC1394Transport;
00010 class AVC1394GUIRewind;
00011 class AVC1394GUIReverse;
00012 class AVC1394GUIStop;
00013 class AVC1394GUIPause;
00014 class AVC1394GUIPlay;
00015 class AVC1394GUIFForward;
00016 class AVC1394GUISeekStart;
00017 class AVC1394GUISeekEnd;
00018
00019
00020 class AVC1394TransportThread : public Thread
00021 {
00022 public:
00023 AVC1394TransportThread(BC_Title *label, AVC1394Control *avc);
00024 ~AVC1394TransportThread();
00025
00026 void run();
00027
00028 BC_Title *label;
00029 AVC1394Control *avc;
00030
00031 int tid;
00032 int done;
00033 };
00034
00035 class AVC1394Transport
00036 {
00037 public:
00038 AVC1394Transport(MWindow *mwindow, AVC1394Control *avc, BC_WindowBase *window, int x, int y);
00039 ~AVC1394Transport();
00040
00041 int create_objects();
00042 void reposition_window(int x, int y);
00043 int keypress_event(int keypress);
00044
00045 MWindow *mwindow;
00046 AVC1394Control *avc;
00047 BC_WindowBase *window;
00048 int x;
00049 int y;
00050 int x_end;
00051
00052
00053 AVC1394GUIRewind *rewind_button;
00054 AVC1394GUIReverse *reverse_button;
00055 AVC1394GUIStop *stop_button;
00056 AVC1394GUIPause *pause_button;
00057 AVC1394GUIPlay *play_button;
00058 AVC1394GUIFForward *fforward_button;
00059 AVC1394GUISeekStart *start_button;
00060 AVC1394GUISeekEnd *end_button;
00061 };
00062
00063 class AVC1394GUISeekStart : public BC_Button
00064 {
00065 public:
00066 AVC1394GUISeekStart(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00067 ~AVC1394GUISeekStart();
00068
00069 int handle_event();
00070 int keypress_event();
00071 MWindow *mwindow;
00072 AVC1394Control *avc;
00073 };
00074
00075 class AVC1394GUIRewind : public BC_Button
00076 {
00077 public:
00078 AVC1394GUIRewind(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00079 ~AVC1394GUIRewind();
00080
00081 int handle_event();
00082 int keypress_event();
00083 MWindow *mwindow;
00084 AVC1394Control *avc;
00085 };
00086
00087 class AVC1394GUIReverse : public BC_Button
00088 {
00089 public:
00090 AVC1394GUIReverse(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00091 ~AVC1394GUIReverse();
00092
00093 int handle_event();
00094 int keypress_event();
00095 MWindow *mwindow;
00096 AVC1394Control *avc;
00097 };
00098
00099 class AVC1394GUIStop : public BC_Button
00100 {
00101 public:
00102 AVC1394GUIStop(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00103 ~AVC1394GUIStop();
00104
00105 int handle_event();
00106 int keypress_event();
00107 MWindow *mwindow;
00108 AVC1394Control *avc;
00109 };
00110
00111 class AVC1394GUIPause : public BC_Button
00112 {
00113 public:
00114 AVC1394GUIPause(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00115 ~AVC1394GUIPause();
00116
00117 int handle_event();
00118 int keypress_event();
00119 MWindow *mwindow;
00120 AVC1394Control *avc;
00121 };
00122
00123 class AVC1394GUIPlay : public BC_Button
00124 {
00125 public:
00126 AVC1394GUIPlay(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00127 ~AVC1394GUIPlay();
00128
00129 int handle_event();
00130 int keypress_event();
00131 MWindow *mwindow;
00132 AVC1394Control *avc;
00133 int mode;
00134 };
00135
00136 class AVC1394GUIFForward : public BC_Button
00137 {
00138 public:
00139 AVC1394GUIFForward(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00140 ~AVC1394GUIFForward();
00141
00142 int handle_event();
00143 int keypress_event();
00144 MWindow *mwindow;
00145 AVC1394Control *avc;
00146 };
00147
00148 class AVC1394GUISeekEnd : public BC_Button
00149 {
00150 public:
00151 AVC1394GUISeekEnd(MWindow *mwindow, AVC1394Control *avc, int x, int y);
00152 ~AVC1394GUISeekEnd();
00153
00154 int handle_event();
00155 int keypress_event();
00156 MWindow *mwindow;
00157 AVC1394Control *avc;
00158 };
00159
00160 #endif