Bug 641951 - Weird spacing with flat brushes

Take brush orientation into account when computing distances in the
coordinate space of the brush.
This commit is contained in:
Téo Mazars 2013-03-23 12:28:25 +01:00 committed by Michael Natterer
parent f5ba71e41a
commit afa57a507c
1 changed files with 2 additions and 0 deletions

View File

@ -549,12 +549,14 @@ gimp_brush_core_interpolate (GimpPaintCore *paint_core,
/* calculate the distance traveled in the coordinate space of the brush */
temp_vec = core->brush->x_axis;
gimp_vector2_mul (&temp_vec, core->scale);
gimp_vector2_rotate (&temp_vec, core->angle * G_PI * 2);
mag = gimp_vector2_length (&temp_vec);
xd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);
temp_vec = core->brush->y_axis;
gimp_vector2_mul (&temp_vec, core->scale);
gimp_vector2_rotate (&temp_vec, core->angle * G_PI * 2);
mag = gimp_vector2_length (&temp_vec);
yd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);