Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
drag_dest_box.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2018-2019, 2021 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
12#ifndef __GUI_WIDGETS_DRAG_DEST_BOX_H__
13#define __GUI_WIDGETS_DRAG_DEST_BOX_H__
14
15#include <gtk/gtk.h>
16
17typedef struct Channel Channel;
18
25#define DRAG_DEST_BOX_WIDGET_TYPE (drag_dest_box_widget_get_type ())
26G_DECLARE_FINAL_TYPE (
28 drag_dest_box_widget,
29 Z,
30 DRAG_DEST_BOX_WIDGET,
31 GtkBox)
32#define TRACKLIST_DRAG_DEST_BOX MW_TRACKLIST->ddbox
33#define MIXER_DRAG_DEST_BOX MW_MIXER->ddbox
34
35typedef enum DragDestBoxType
36{
37 DRAG_DEST_BOX_TYPE_MIXER,
38 DRAG_DEST_BOX_TYPE_TRACKLIST,
39 DRAG_DEST_BOX_TYPE_MODULATORS,
40} DragDestBoxType;
41
46typedef struct _DragDestBoxWidget
47{
48 GtkBox parent_instance;
49 GtkGestureDrag * drag;
50 GtkGestureClick * click;
51 GtkGestureClick * right_click;
52 DragDestBoxType type;
53
55 GtkPopoverMenu * popover_menu;
57
63 GtkOrientation orientation,
64 int spacing,
65 DragDestBoxType type);
66
71#endif
DragDestBoxWidget * drag_dest_box_widget_new(GtkOrientation orientation, int spacing, DragDestBoxType type)
Creates a drag destination box widget.
A Channel is part of a Track (excluding Tracks that don't have Channels) and contains information rel...
Definition channel.h:61
DnD destination box used by mixer and tracklist widgets.
GtkPopoverMenu * popover_menu
Popover to be reused for context menus.