Move valp clamp and scale from calc_valp_log() to calc_valp()
This commit is contained in:
@@ -147,18 +147,17 @@ static void dial_measure(
|
|||||||
|
|
||||||
#define DRAG_FACTOR 0.5
|
#define DRAG_FACTOR 0.5
|
||||||
|
|
||||||
|
// convert val from mn..mx to 0..1 with clamp
|
||||||
static double calc_valp(double val, double mn, double mx) {
|
static double calc_valp(double val, double mn, double mx) {
|
||||||
return (val - mn) / (mx - mn);
|
|
||||||
}
|
|
||||||
|
|
||||||
static double calc_valp_log(double val, double mn, double mx) {
|
|
||||||
if (val <= mn)
|
if (val <= mn)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
if (val >= mx)
|
if (val >= mx)
|
||||||
return 1.0;
|
return 1.0;
|
||||||
|
|
||||||
// convert val from mn..mx to 0..1
|
return (val - mn) / (mx - mn);
|
||||||
val = (val - mn) / (mx - mn);
|
}
|
||||||
|
|
||||||
|
static double taper_log(double val) {
|
||||||
|
|
||||||
// 10^(val - 1) converts it to 0.1..1 with a nice curve
|
// 10^(val - 1) converts it to 0.1..1 with a nice curve
|
||||||
val = pow(10, val - 1);
|
val = pow(10, val - 1);
|
||||||
@@ -202,7 +201,7 @@ static void get_dial_properties(
|
|||||||
double mn = dial->adj ? gtk_adjustment_get_lower(dial->adj) : 0;
|
double mn = dial->adj ? gtk_adjustment_get_lower(dial->adj) : 0;
|
||||||
double mx = dial->adj ? gtk_adjustment_get_upper(dial->adj) : 1;
|
double mx = dial->adj ? gtk_adjustment_get_upper(dial->adj) : 1;
|
||||||
double value = dial->adj ? gtk_adjustment_get_value(dial->adj) : 0.25;
|
double value = dial->adj ? gtk_adjustment_get_value(dial->adj) : 0.25;
|
||||||
props->valp = calc_valp_log(value, mn, mx);
|
props->valp = taper_log(calc_valp(value, mn, mx));
|
||||||
|
|
||||||
props->angle = calc_val(props->valp, ANGLE_START, ANGLE_END);
|
props->angle = calc_val(props->valp, ANGLE_START, ANGLE_END);
|
||||||
double radius = props->radius - props->thickness / 2;
|
double radius = props->radius - props->thickness / 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user