Move valp clamp and scale from calc_valp_log() to calc_valp()

This commit is contained in:
Geoffrey D. Bennett
2024-01-17 14:53:39 +10:30
parent a77cb0e258
commit 189b9ff6f6

View File

@@ -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;