Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
snap_grid_popover.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2019-2020, 2022 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
12#ifndef __GUI_WIDGETS_SNAP_GRID_POPOVER_H__
13#define __GUI_WIDGETS_SNAP_GRID_POPOVER_H__
14
15#include <adwaita.h>
16#include <gtk/gtk.h>
17
18typedef struct _DigitalMeterWidget DigitalMeterWidget;
19typedef struct _SnapGridWidget SnapGridWidget;
20
27#define SNAP_GRID_POPOVER_WIDGET_TYPE (snap_grid_popover_widget_get_type ())
29 SnapGridPopoverWidget,
30 snap_grid_popover_widget,
31 Z,
32 SNAP_GRID_POPOVER_WIDGET,
33 GtkPopover)
34
35
38typedef struct _SnapGridPopoverWidget
39{
40 GtkPopover parent_instance;
41
43 SnapGridWidget * owner;
44
45 AdwPreferencesPage * pref_page;
46
47 /* --- snap --- */
48 AdwPreferencesGroup * snap_position_group;
49 GtkSwitch * snap_to_grid;
50 GtkSwitch * adaptive_snap;
51 AdwActionRow * adaptive_snap_row;
52 AdwComboRow * snap_length;
53 AdwComboRow * snap_type;
54 GtkSwitch * keep_offset;
55 AdwActionRow * keep_offset_row;
56 GtkSwitch * snap_to_events;
57 AdwActionRow * snap_to_events_row;
58
59 /* --- object lengths --- */
60 AdwPreferencesGroup * object_length_group;
61 AdwComboRow * object_length_type;
62 AdwComboRow * object_length;
63 AdwComboRow * object_length_type_custom;
64
65} SnapGridPopoverWidget;
66
70SnapGridPopoverWidget *
72
77#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.