From 74f907ca33677a55adee7473c15b1b1015dcff7f Mon Sep 17 00:00:00 2001 From: Alexia Death Date: Mon, 10 May 2010 00:14:24 +0300 Subject: [PATCH] app: Fix curve application to tilt aspect ratio maping --- app/core/gimpdynamicsoutput.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/core/gimpdynamicsoutput.c b/app/core/gimpdynamicsoutput.c index af1331d178..ac0d86950b 100644 --- a/app/core/gimpdynamicsoutput.c +++ b/app/core/gimpdynamicsoutput.c @@ -624,9 +624,18 @@ gimp_dynamics_output_get_aspect_value (GimpDynamicsOutput *output, if (output->use_tilt) { - total += gimp_curve_map_value (output->tilt_curve, - (sqrt ((1 - fabs (coords->xtilt)) / - (1 - fabs (coords->ytilt))))); + gdouble tilt_value = MIN ((1 - fabs (coords->xtilt)) / + (1 - fabs (coords->ytilt)), 20); + + if (tilt_value <= 1.0) + tilt_value = gimp_curve_map_value (output->tilt_curve, + tilt_value); + else + tilt_value = (1 - gimp_curve_map_value (output->tilt_curve, + (1.0 - (tilt_value - 1.0) / 19.0))) * 19.0 + 1.0 ; + + total += tilt_value; + factors++; } @@ -668,7 +677,7 @@ gimp_dynamics_output_get_aspect_value (GimpDynamicsOutput *output, g_printerr ("Dynamics queried(aspect). Result: %f, factors: %d, total: %f\n", result, factors, total); #endif - if (result < 0.25) result = 0.25; + result = CLAMP (result, 0.05, 20.0); return result; }