Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
drag_dest_box.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2019, 2021 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_DRAG_DEST_BOX_H__
11#define __GUI_WIDGETS_DRAG_DEST_BOX_H__
12
13#include "gui/backend/gtk_widgets/gtk_wrapper.h"
14
15class Channel;
16
22
23#define DRAG_DEST_BOX_WIDGET_TYPE (drag_dest_box_widget_get_type ())
24G_DECLARE_FINAL_TYPE (
26 drag_dest_box_widget,
27 Z,
28 DRAG_DEST_BOX_WIDGET,
29 GtkBox)
30#define TRACKLIST_DRAG_DEST_BOX MW_TRACKLIST->ddbox
31#define MIXER_DRAG_DEST_BOX MW_MIXER->ddbox
32
33enum class DragDestBoxType
34{
35 DRAG_DEST_BOX_TYPE_MIXER,
36 DRAG_DEST_BOX_TYPE_TRACKLIST,
37 DRAG_DEST_BOX_TYPE_MODULATORS,
38};
39
44typedef struct _DragDestBoxWidget
45{
46 GtkBox parent_instance;
47 GtkGestureDrag * drag;
48 GtkGestureClick * click;
49 GtkGestureClick * right_click;
50 DragDestBoxType type;
51
53 GtkPopoverMenu * popover_menu;
55
61 GtkOrientation orientation,
62 int spacing,
63 DragDestBoxType type);
64
68
69#endif
DragDestBoxWidget * drag_dest_box_widget_new(GtkOrientation orientation, int spacing, DragDestBoxType type)
Creates a drag destination box widget.
DnD destination box used by mixer and tracklist widgets.
GtkPopoverMenu * popover_menu
Popover to be reused for context menus.