r1022: Restructure overlay and label code for efficiency; change the graphic display...
[cinelerra_cv.git] / guicast / bcrepeater.h
blobc1f0353a2db79b64d1cbaf9eec1d7e2f09edce74
1 #ifndef BCREPEATER_H
2 #define BCREPEATER_H
4 #include "bcrepeater.inc"
5 #include "bcwindowbase.inc"
6 #include "condition.inc"
7 #include "thread.h"
8 #include "bctimer.h"
10 class BC_Repeater : public Thread
12 public:
13 BC_Repeater(BC_WindowBase *top_level, long delay);
14 ~BC_Repeater();
16 void initialize();
17 int start_repeating();
18 int stop_repeating();
19 void run();
21 long repeat_id;
22 long delay;
23 int repeating;
24 int interrupted;
25 // Prevent new signal until existing event is processed
26 Condition *repeat_lock;
28 private:
29 Timer timer;
30 BC_WindowBase *top_level;
31 // Delay corrected for the time the last repeat took
32 long next_delay;
33 Condition *pause_lock;
34 Condition *startup_lock;
39 #endif