LMMS
Loading...
Searching...
No Matches
ctl_knob.cpp File Reference
#include "config.h"
#include <calf/ctl_knob.h>
#include <calf/drawingutils.h>
#include <gdk/gdkkeysyms.h>
#include <cairo/cairo.h>
#include <math.h>
#include <stdint.h>
#include <stdlib.h>
#include <gdk/gdk.h>
#include <algorithm>

Macros

#define range01(tick)

Functions

static void calf_knob_get_color (CalfKnob *self, float deg, float phase, float start, float last, float tickw, float *r, float *g, float *b, float *a)
static gboolean calf_knob_expose (GtkWidget *widget, GdkEventExpose *event)
static void calf_knob_size_request (GtkWidget *widget, GtkRequisition *requisition)
void calf_knob_set_size (CalfKnob *self, int size)
void calf_knob_set_pixbuf (CalfKnob *self, GdkPixbuf *pixbuf)
static gboolean calf_knob_enter (GtkWidget *widget, GdkEventCrossing *ev)
static gboolean calf_knob_leave (GtkWidget *widget, GdkEventCrossing *ev)
static void calf_knob_incr (GtkWidget *widget, int dir_down)
static gboolean calf_knob_key_press (GtkWidget *widget, GdkEventKey *event)
static gboolean calf_knob_key_release (GtkWidget *widget, GdkEventKey *event)
static gboolean calf_knob_button_press (GtkWidget *widget, GdkEventButton *event)
static gboolean calf_knob_button_release (GtkWidget *widget, GdkEventButton *event)
static float endless (float value)
static float deadzone (GtkWidget *widget, float value, float incr)
static gboolean calf_knob_pointer_motion (GtkWidget *widget, GdkEventMotion *event)
static gboolean calf_knob_scroll (GtkWidget *widget, GdkEventScroll *event)
static void calf_knob_class_init (CalfKnobClass *klass)
static void calf_knob_init (CalfKnob *self)
GtkWidget * calf_knob_new ()
static gboolean calf_knob_value_changed (gpointer obj)
GtkWidget * calf_knob_new_with_adjustment (GtkAdjustment *_adjustment)
GType calf_knob_get_type (void)

Macro Definition Documentation

◆ range01

#define range01 ( tick)
Value:
std::min(1., std::max(0., tick))

Function Documentation

◆ calf_knob_button_press()

gboolean calf_knob_button_press ( GtkWidget * widget,
GdkEventButton * event )
static

◆ calf_knob_button_release()

gboolean calf_knob_button_release ( GtkWidget * widget,
GdkEventButton * event )
static

◆ calf_knob_class_init()

void calf_knob_class_init ( CalfKnobClass * klass)
static

◆ calf_knob_enter()

gboolean calf_knob_enter ( GtkWidget * widget,
GdkEventCrossing * ev )
static

◆ calf_knob_expose()

gboolean calf_knob_expose ( GtkWidget * widget,
GdkEventExpose * event )
static

◆ calf_knob_get_color()

void calf_knob_get_color ( CalfKnob * self,
float deg,
float phase,
float start,
float last,
float tickw,
float * r,
float * g,
float * b,
float * a )
static

◆ calf_knob_get_type()

GType calf_knob_get_type ( void )

◆ calf_knob_incr()

void calf_knob_incr ( GtkWidget * widget,
int dir_down )
static

◆ calf_knob_init()

void calf_knob_init ( CalfKnob * self)
static

◆ calf_knob_key_press()

gboolean calf_knob_key_press ( GtkWidget * widget,
GdkEventKey * event )
static

◆ calf_knob_key_release()

gboolean calf_knob_key_release ( GtkWidget * widget,
GdkEventKey * event )
static

◆ calf_knob_leave()

gboolean calf_knob_leave ( GtkWidget * widget,
GdkEventCrossing * ev )
static

◆ calf_knob_new()

GtkWidget * calf_knob_new ( )

◆ calf_knob_new_with_adjustment()

GtkWidget * calf_knob_new_with_adjustment ( GtkAdjustment * _adjustment)

◆ calf_knob_pointer_motion()

gboolean calf_knob_pointer_motion ( GtkWidget * widget,
GdkEventMotion * event )
static

◆ calf_knob_scroll()

gboolean calf_knob_scroll ( GtkWidget * widget,
GdkEventScroll * event )
static

◆ calf_knob_set_pixbuf()

void calf_knob_set_pixbuf ( CalfKnob * self,
GdkPixbuf * pixbuf )

◆ calf_knob_set_size()

void calf_knob_set_size ( CalfKnob * self,
int size )

◆ calf_knob_size_request()

void calf_knob_size_request ( GtkWidget * widget,
GtkRequisition * requisition )
static

◆ calf_knob_value_changed()

gboolean calf_knob_value_changed ( gpointer obj)
static

◆ deadzone()

float deadzone ( GtkWidget * widget,
float value,
float incr )
inlinestatic

◆ endless()

float endless ( float value)
inlinestatic