Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
meter.h
1// SPDX-FileCopyrightText: © 2019-2021, 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_METER_H__
5#define __GUI_WIDGETS_METER_H__
6
7#include "common/utils/color.h"
8#include "gui/backend/gtk_widgets/gtk_wrapper.h"
9
10#define METER_WIDGET_TYPE (meter_widget_get_type ())
11G_DECLARE_FINAL_TYPE (MeterWidget, meter_widget, Z, METER_WIDGET, GtkWidget)
12
13class Meter;
14class Port;
15
16using MeterWidget = struct _MeterWidget
17{
18 GtkWidget parent_instance;
19
21 Meter * meter;
22
24 int hover;
25
26 Color start_color;
27 Color end_color;
28
29 float meter_val;
30 float meter_peak;
31
34 float last_meter_val;
35 float last_meter_peak;
36
38 guint source_id;
39 GSource * timeout_source;
40};
41
48void
49meter_widget_setup (MeterWidget * self, Port * port, bool small);
50
56MeterWidget *
57meter_widget_new (Port * port, int width);
58
59#endif