This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository legacy-imlib2.

View the commit online.

commit 29397453e40490d75540f59bb8287c5092f32784
Author: Kim Woelders <k...@woelders.dk>
AuthorDate: Sat Aug 5 20:27:50 2023 +0200

    scaling: Various trivial changes
---
 src/lib/scale.c | 90 +++++++++++++++++++++++----------------------------------
 1 file changed, 36 insertions(+), 54 deletions(-)

diff --git a/src/lib/scale.c b/src/lib/scale.c
index ac07b87..d3972cd 100644
--- a/src/lib/scale.c
+++ b/src/lib/scale.c
@@ -24,16 +24,12 @@ struct _imlib_scale_info {
 #define YAP                       (yapoints[dyy + y])
 
 static int         *
-__imlib_CalcPoints(int sw, int dw, int b1, int b2)
+__imlib_CalcPoints(int sw, int dw_, int b1, int b2)
 {
    int                *p, i;
-   int                 val, inc, rv = 0;
+   int                 val, inc, dw, ss, dd;
 
-   if (dw < 0)
-     {
-        dw = -dw;
-        rv = 1;
-     }
+   dw = (dw_ >= 0) ? dw_ : -dw_;
 
    p = malloc(dw * sizeof(int));
    if (!p)
@@ -48,19 +44,16 @@ __imlib_CalcPoints(int sw, int dw, int b1, int b2)
      }
 
    /* Border 1 */
-   val = 0;
-   inc = 1 << 16;
    for (i = 0; i < b1; i++)
-     {
-        p[i] = val >> 16;
-        val += inc;
-     }
+      p[i] = i;
 
    /* Center */
-   if (i < dw - b2)
+   ss = sw - (b1 + b2);
+   dd = dw - (b1 + b2);
+   if (dd > 0)
      {
         val = b1 << 16;
-        inc = ((sw - (b1 + b2)) << 16) / (dw - (b1 + b2));
+        inc = (ss << 16) / dd;
         for (; i < dw - b2; i++)
           {
              p[i] = val >> 16;
@@ -69,15 +62,11 @@ __imlib_CalcPoints(int sw, int dw, int b1, int b2)
      }
 
    /* Border 2 */
-   val = (sw - b2) << 16;
-   inc = 1 << 16;
+   val = sw - b2;
    for (; i < dw; i++)
-     {
-        p[i] = val >> 16;
-        val += inc;
-     }
+      p[i] = val++;
 
-   if (rv)
+   if (dw_ < 0)
       for (i = dw / 2; --i >= 0;)
         {
            int                 tmp = p[i];
@@ -90,22 +79,18 @@ __imlib_CalcPoints(int sw, int dw, int b1, int b2)
 }
 
 static int         *
-__imlib_CalcApoints(int s, int d, int b1, int b2, int up)
+__imlib_CalcApoints(int sw, int dw_, int b1, int b2, int up)
 {
-   int                *p, i, rv = 0;
-   int                 val, inc;
+   int                *p, i;
+   int                 val, inc, dw, ss, dd;
 
-   if (d < 0)
-     {
-        rv = 1;
-        d = -d;
-     }
+   dw = (dw_ >= 0) ? dw_ : -dw_;
 
-   p = malloc(d * sizeof(int));
+   p = malloc(dw * sizeof(int));
    if (!p)
       return NULL;
 
-   val = MIN(s, d);
+   val = MIN(sw, dw);
    inc = b1 + b2;
    if (val < inc)
      {
@@ -113,6 +98,8 @@ __imlib_CalcApoints(int s, int d, int b1, int b2, int up)
         b2 = val - b1;
      }
 
+   ss = sw - (b1 + b2);
+   dd = dw - (b1 + b2);
    if (up)
      {
         /* Scaling up */
@@ -122,25 +109,21 @@ __imlib_CalcApoints(int s, int d, int b1, int b2, int up)
            p[i] = 0;
 
         /* Center */
-        if (d > b1 + b2)
+        if (dd > 0)
           {
-             int                 ss, dd;
-
-             ss = s - (b1 + b2);
-             dd = d - (b1 + b2);
              val = 0;
              inc = (ss << 16) / dd;
-             for (; i < d - b2; i++)
+             for (; i < dw - b2; i++)
                {
                   p[i] = (val >> 8) - ((val >> 8) & 0xffffff00);
-                  if (((val >> 16) + b1) >= (s - 1))
+                  if (((val >> 16) + b1) >= (sw - 1))
                      p[i] = 0;
                   val += inc;
                }
           }
 
         /* Border 2 */
-        for (; i < d; i++)
+        for (; i < dw; i++)
            p[i] = 0;
      }
    else
@@ -152,16 +135,14 @@ __imlib_CalcApoints(int s, int d, int b1, int b2, int up)
            p[i] = (1 << (16 + 14)) + (1 << 14);
 
         /* Center */
-        if (d > b1 + b2)
+        if (dd > 0)
           {
-             int                 ss, dd, ap, Cp;
+             int                 ap, Cp;
 
-             ss = s - (b1 + b2);
-             dd = d - (b1 + b2);
              val = 0;
              inc = (ss << 16) / dd;
              Cp = ((dd << 14) / ss) + 1;
-             for (; i < d - b2; i++)
+             for (; i < dw - b2; i++)
                {
                   ap = ((0x100 - ((val >> 8) & 0xff)) * Cp) >> 8;
                   p[i] = ap | (Cp << 16);
@@ -170,18 +151,18 @@ __imlib_CalcApoints(int s, int d, int b1, int b2, int up)
           }
 
         /* Border 2 */
-        for (; i < d; i++)
+        for (; i < dw; i++)
            p[i] = (1 << (16 + 14)) + (1 << 14);
      }
 
-   if (rv)
+   if (dw_ < 0)
      {
-        for (i = d / 2; --i >= 0;)
+        for (i = dw / 2; --i >= 0;)
           {
              int                 tmp = p[i];
 
-             p[i] = p[d - i - 1];
-             p[d - i - 1] = tmp;
+             p[i] = p[dw - i - 1];
+             p[dw - i - 1] = tmp;
           }
      }
 
@@ -232,13 +213,14 @@ __imlib_CalcScaleInfo(ImlibImage * im, int sw, int sh, int dw, int dh, bool aa)
 
    if (aa)
      {
-        isi->xapoints = __imlib_CalcApoints(im->w, scw, im->border.left,
-                                            im->border.right, isi->xup_yup & 1);
+        isi->xapoints = __imlib_CalcApoints(im->w, scw,
+                                            im->border.left, im->border.right,
+                                            isi->xup_yup & 1);
         if (!isi->xapoints)
            goto bail;
 
-        isi->yapoints = __imlib_CalcApoints(im->h, sch, im->border.top,
-                                            im->border.bottom,
+        isi->yapoints = __imlib_CalcApoints(im->h, sch,
+                                            im->border.top, im->border.bottom,
                                             isi->xup_yup & 2);
         if (!isi->yapoints)
            goto bail;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to