[gtk/wip/otte/for-master: 1/2] rendernode: Simplify conic gradient code




commit 1c3b7abcdfab9b0f976141abf52426500b37ce74
Author: Benjamin Otte <otte redhat com>
Date:   Sun Nov 28 08:00:52 2021 +0100

    rendernode: Simplify conic gradient code

 gsk/gskrendernodeimpl.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
---
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c
index 76592973a2..207e3e68de 100644
--- a/gsk/gskrendernodeimpl.c
+++ b/gsk/gskrendernodeimpl.c
@@ -828,18 +828,14 @@ project (double  angle,
 {
   double x, y;
 
-  x = radius * cos (angle);
-  y = radius * sin (angle);
-  if (copysign (x, 1.0) > copysign (y, 1.0))
-    {
-      *x_out = copysign (radius, x);
-      *y_out = y * radius / copysign (x, 1.0);
-    }
-  else
-    {
-      *x_out = x * radius / copysign (y, 1.0);
-      *y_out = copysign (radius, y);
-    }
+#ifdef HAVE_SINCOS
+  sincos (angle, &y, &x);
+#else
+  x = cos (angle);
+  y = sin (angle);
+#endif
+  *x_out = radius * x;
+  *y_out = radius * y;
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]