Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
knob_with_name.h
1// SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_KNOB_WITH_NAME_H__
5#define __GUI_WIDGETS_KNOB_WITH_NAME_H__
6
7#include "utils/types.h"
8
9#include <gtk/gtk.h>
10
11#define KNOB_WITH_NAME_WIDGET_TYPE (knob_with_name_widget_get_type ())
12G_DECLARE_FINAL_TYPE (
14 knob_with_name_widget,
15 Z,
16 KNOB_WITH_NAME_WIDGET,
17 GtkBox)
18
19typedef struct _KnobWidget KnobWidget;
20typedef struct _EditableLabelWidget EditableLabelWidget;
21
26typedef struct _KnobWithNameWidget
27{
28 GtkBox parent_instance;
29
31 // GtkLabel * label;
32 EditableLabelWidget * label;
33
36
38 GtkPopoverMenu * popover_menu;
40
48knob_with_name_widget_new (
49 void * obj,
50 GenericStringGetter name_getter,
51 GenericStringSetter name_setter,
52 KnobWidget * knob,
53 GtkOrientation orientation,
54 bool label_before,
55 int spacing);
56
57#endif
void(* GenericStringSetter)(void *object, const char *val)
Setter prototype for float values.
Definition types.h:88
const char *(* GenericStringGetter)(void *object)
Getter prototype for strings.
Definition types.h:83
A vertical box with a knob at the top and a name at the bottom.
GtkPopoverMenu * popover_menu
Right click menu.
EditableLabelWidget * label
The label to show below the knob.
KnobWidget * knob
The knob.
Custom types.