add grouping, default proxy vcodec h264.mp4, default titlebar alpha=1, green bar bug
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainclock.C
1
2 /*
3  * CINELERRA
4  * Copyright (C) 1997-2017 Adam Williams <broadcast at earthling dot net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #include "edl.h"
23 #include "edlsession.h"
24 #include "fonts.h"
25 #include "mainclock.h"
26 #include "mwindow.h"
27 #include "theme.h"
28
29 MainClock::MainClock(MWindow *mwindow, int x, int y, int w)
30  : BC_Title(x, y, "", CLOCKFONT, //MEDIUM_7SEGMENT,
31         mwindow->theme->clock_fg_color, 0, w)
32 {
33         this->mwindow = mwindow;
34         position_offset = 0;
35         set_bg_color(mwindow->theme->clock_bg_color);
36 }
37
38 MainClock::~MainClock()
39 {
40 }
41
42 void MainClock::set_position_offset(double value)
43 {
44         position_offset = value;
45 }
46
47 void MainClock::update(double position)
48 {
49         lock_window("MainClock::update");
50         char string[BCTEXTLEN];
51         position += position_offset;
52         Units::totext(string, position,
53                 mwindow->edl->session->time_format,
54                 mwindow->edl->session->sample_rate,
55                 mwindow->edl->session->frame_rate,
56                 mwindow->edl->session->frames_per_foot);
57         BC_Title::update(string);
58         unlock_window();
59 }
60
61 void MainClock::clear()
62 {
63         lock_window("MainClock::clear");
64         BC_Title::update("");
65         unlock_window();
66 }
67