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
17#include "gtk_wrapper.h"
18
19typedef struct _DigitalMeterWidget DigitalMeterWidget;
20typedef struct _SnapGridWidget SnapGridWidget;
21
28#define SNAP_GRID_POPOVER_WIDGET_TYPE (snap_grid_popover_widget_get_type ())
30 SnapGridPopoverWidget,
31 snap_grid_popover_widget,
32 Z,
33 SNAP_GRID_POPOVER_WIDGET,
34 GtkPopover)
35
36
39typedef struct _SnapGridPopoverWidget
40{
41 GtkPopover parent_instance;
42
44 SnapGridWidget * owner;
45
46 AdwPreferencesPage * pref_page;
47
48 /* --- snap --- */
49 AdwPreferencesGroup * snap_position_group;
50 GtkSwitch * snap_to_grid;
51 GtkSwitch * adaptive_snap;
52 AdwActionRow * adaptive_snap_row;
53 AdwComboRow * snap_length;
54 AdwComboRow * snap_type;
55 GtkSwitch * keep_offset;
56 AdwActionRow * keep_offset_row;
57 GtkSwitch * snap_to_events;
58 AdwActionRow * snap_to_events_row;
59
60 /* --- object lengths --- */
61 AdwPreferencesGroup * object_length_group;
62 AdwComboRow * object_length_type;
63 AdwComboRow * object_length;
64 AdwComboRow * object_length_type_custom;
65
66} SnapGridPopoverWidget;
67
71SnapGridPopoverWidget *
73
78#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.