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:
committed by
Michael Natterer
parent
f5ba71e41a
commit
afa57a507c
@ -549,12 +549,14 @@ gimp_brush_core_interpolate (GimpPaintCore *paint_core,
|
|||||||
/* calculate the distance traveled in the coordinate space of the brush */
|
/* calculate the distance traveled in the coordinate space of the brush */
|
||||||
temp_vec = core->brush->x_axis;
|
temp_vec = core->brush->x_axis;
|
||||||
gimp_vector2_mul (&temp_vec, core->scale);
|
gimp_vector2_mul (&temp_vec, core->scale);
|
||||||
|
gimp_vector2_rotate (&temp_vec, core->angle * G_PI * 2);
|
||||||
|
|
||||||
mag = gimp_vector2_length (&temp_vec);
|
mag = gimp_vector2_length (&temp_vec);
|
||||||
xd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);
|
xd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);
|
||||||
|
|
||||||
temp_vec = core->brush->y_axis;
|
temp_vec = core->brush->y_axis;
|
||||||
gimp_vector2_mul (&temp_vec, core->scale);
|
gimp_vector2_mul (&temp_vec, core->scale);
|
||||||
|
gimp_vector2_rotate (&temp_vec, core->angle * G_PI * 2);
|
||||||
|
|
||||||
mag = gimp_vector2_length (&temp_vec);
|
mag = gimp_vector2_length (&temp_vec);
|
||||||
yd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);
|
yd = gimp_vector2_inner_product (&delta_vec, &temp_vec) / (mag * mag);
|
||||||
|
|||||||
Reference in New Issue
Block a user