Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
channel_send.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_CHANNEL_SEND_H__
11#define __GUI_WIDGETS_CHANNEL_SEND_H__
12
13#include "gui/backend/gtk_widgets/gtk_wrapper.h"
14
15#define CHANNEL_SEND_WIDGET_TYPE (channel_send_widget_get_type ())
16G_DECLARE_FINAL_TYPE (
17 ChannelSendWidget,
18 channel_send_widget,
19 Z,
20 CHANNEL_SEND_WIDGET,
21 GtkWidget)
22
23class ChannelSend;
24using ChannelSendSelectorWidget = struct _ChannelSendSelectorWidget;
25
31
32using ChannelSendWidget = struct _ChannelSendWidget
33{
34 GtkWidget parent_instance;
35
37 ChannelSend * send;
38
39 GtkGestureClick * click;
40 GtkGestureDrag * drag;
41
42 double start_x;
43 double last_offset_x;
44
45 float send_amount_at_start;
46
48 int n_press;
49
50 GtkGestureClick * right_mouse_mp;
51
53 char * cache_tooltip;
54
55 PangoLayout * txt_layout;
56
59 bool was_empty;
60
62 GtkPopoverMenu * popover_menu;
63
64 ChannelSendSelectorWidget * selector_popover;
65};
66
71ChannelSendWidget *
72channel_send_widget_new (ChannelSend * send);
73
77
78#endif
ChannelSendWidget * channel_send_widget_new(ChannelSend *send)
Creates a new ChannelSend widget and binds it to the given value.