[gimp] app: fix angle calculation of generated brushes
- From: N/A <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: fix angle calculation of generated brushes
- Date: Fri, 22 Dec 2017 22:52:47 +0000 (UTC)
commit 27688ee752e225912507a768d4c3893e6e9dc160
Author: Ell <ell_se yahoo com>
Date: Fri Dec 22 16:27:06 2017 -0500
app: fix angle calculation of generated brushes
... so that we don't effectively take the absolute values of
angles.
app/core/gimpbrushgenerated.c | 14 +++-----------
1 files changed, 3 insertions(+), 11 deletions(-)
---
diff --git a/app/core/gimpbrushgenerated.c b/app/core/gimpbrushgenerated.c
index 18bfac8..78e06ac 100644
--- a/app/core/gimpbrushgenerated.c
+++ b/app/core/gimpbrushgenerated.c
@@ -319,13 +319,9 @@ gimp_brush_generated_transform_size (GimpBrush *gbrush,
if (aspect_ratio < 0.0)
angle = angle + 0.25;
+ angle = fmod (fmod (angle, 1.0) + 1.0, 1.0);
angle *= 360;
- if (angle < 0.0)
- angle = -1.0 * fmod (angle, 180.0);
- else if (angle > 180.0)
- angle = fmod (angle, 180.0);
-
gimp_brush_generated_get_size (brush,
brush->shape,
brush->radius * scale,
@@ -357,13 +353,9 @@ gimp_brush_generated_transform_mask (GimpBrush *gbrush,
if (aspect_ratio < 0.0)
angle = angle + 0.25;
+ angle = fmod (fmod (angle, 1.0) + 1.0, 1.0);
angle *= 360;
- if (angle < 0.0)
- angle = -1.0 * fmod (angle, 180.0);
- else if (angle > 180.0)
- angle = fmod (angle, 180.0);
-
if (scale == 1.0 &&
ratio == brush->aspect_ratio &&
angle == brush->angle &&
@@ -605,7 +597,7 @@ gimp_brush_generated_get_size (GimpBrushGenerated *gbrush,
* allows for any angle to turn up.
**/
- angle_in_degrees = ROUND (angle_in_degrees * 1000.0) / 1000.0;
+ angle_in_degrees = RINT (angle_in_degrees * 1000.0) / 1000.0;
s = sin (gimp_deg_to_rad (angle_in_degrees));
c = cos (gimp_deg_to_rad (angle_in_degrees));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]