4#ifndef __GUI_WIDGETS_KNOB_H__
5#define __GUI_WIDGETS_KNOB_H__
7#include "common/utils/types.h"
8#include "gui/backend/gtk_widgets/gtk_wrapper.h"
10#define KNOB_WIDGET_TYPE (knob_widget_get_type ())
11G_DECLARE_FINAL_TYPE (
KnobWidget, knob_widget, Z, KNOB_WIDGET, GtkWidget)
39 GtkWidget parent_instance;
91 GtkGestureDrag * drag;
105 GtkPopoverMenu * popover_menu;
132#define knob_widget_new_simple( \
133 getter, default_getter, setter, obj, min, max, size, zero) \
135 (GenericFloatGetter) getter, (GenericFloatGetter) default_getter, \
136 (GenericFloatSetter) setter, (void *) obj, KnobType::KNOB_TYPE_NORMAL, \
137 min, max, size, zero)
142#define knob_widget_new_port(conn, size) \
144 nullptr, nullptr, (void *) conn, KnobType::KNOB_TYPE_PORT_MULTIPLIER, 0.f, \
std::function< float()> GenericFloatGetter
Getter prototype for float values.
std::function< void(float)> GenericFloatSetter
Setter prototype for float values.
std::function< std::string()> GenericStringGetter
Getter prototype for strings.