1 /*
2  * gui/widgets/top_bar.h - Toptom bar
3  *
4  * Copyright (C) 2019 Alexandros Theodotou
5  *
6  * This file is part of Zrythm
7  *
8  * Zrythm is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU Affero General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * Zrythm is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU Affero General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with Zrythm.  If not, see <https://www.gnu.org/licenses/>.
20  */
21 
22 #ifndef __GUI_WIDGETS_TOP_BAR_H__
23 #define __GUI_WIDGETS_TOP_BAR_H__
24 
25 #include <gtk/gtk.h>
26 
27 #define TOP_BAR_WIDGET_TYPE \
28   (top_bar_widget_get_type ())
29 G_DECLARE_FINAL_TYPE (TopBarWidget,
30                       top_bar_widget,
31                       Z,
32                       TOP_BAR_WIDGET,
33                       GtkBox)
34 
35 #define TOP_BAR MW->top_bar
36 
37 typedef struct _DigitalMeterWidget
38   DigitalMeterWidget;
39 typedef struct _TransportControlsWidget
40   TransportControlsWidget;
41 typedef struct _CpuWidget CpuWidget;
42 typedef struct _MidiActivityBarWidget
43   MidiActivityBarWidget;
44 typedef struct _LiveWaveformWidget
45   LiveWaveformWidget;
46 
47 typedef struct _TopBarWidget
48 {
49   GtkBox                    parent_instance;
50   GtkToolbar *              top_bar_left;
51 } TopBarWidget;
52 
53 void
54 top_bar_widget_refresh (TopBarWidget * self);
55 
56 #endif
57