Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
snap_grid_popover.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2020, 2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_SNAP_GRID_POPOVER_H__
11#define __GUI_WIDGETS_SNAP_GRID_POPOVER_H__
12
13#include "gui/backend/gtk_widgets/gtk_wrapper.h"
14#include "gui/backend/gtk_widgets/libadwaita_wrapper.h"
15
16typedef struct _DigitalMeterWidget DigitalMeterWidget;
17typedef struct _SnapGridWidget SnapGridWidget;
18
24
25#define SNAP_GRID_POPOVER_WIDGET_TYPE (snap_grid_popover_widget_get_type ())
27 SnapGridPopoverWidget,
28 snap_grid_popover_widget,
29 Z,
30 SNAP_GRID_POPOVER_WIDGET,
31 GtkPopover)
32
33
36typedef struct _SnapGridPopoverWidget
37{
38 GtkPopover parent_instance;
39
41 SnapGridWidget * owner;
42
43 AdwPreferencesPage * pref_page;
44
45 /* --- snap --- */
46 AdwPreferencesGroup * snap_position_group;
47 GtkSwitch * snap_to_grid;
48 GtkSwitch * adaptive_snap;
49 AdwActionRow * adaptive_snap_row;
50 AdwComboRow * snap_length;
51 AdwComboRow * snap_type;
52 GtkSwitch * keep_offset;
53 AdwActionRow * keep_offset_row;
54 GtkSwitch * snap_to_events;
55 AdwActionRow * snap_to_events_row;
56
57 /* --- object lengths --- */
58 AdwPreferencesGroup * object_length_group;
59 AdwComboRow * object_length_type;
60 AdwComboRow * object_length;
61 AdwComboRow * object_length_type_custom;
62
63} SnapGridPopoverWidget;
64
68SnapGridPopoverWidget *
70
74
75#endif
G_DECLARE_FINAL_TYPE(SnapGridPopoverWidget, snap_grid_popover_widget, Z, SNAP_GRID_POPOVER_WIDGET, GtkPopover) typedef struct _SnapGridPopoverWidget
Snap grid popover.
SnapGridPopoverWidget * snap_grid_popover_widget_new(SnapGridWidget *owner)
Creates the popover.