kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=484bd5cc79500d6f345b6bd0bd624d94b467bc65

commit 484bd5cc79500d6f345b6bd0bd624d94b467bc65
Author: Kim Woelders <k...@woelders.dk>
Date:   Sat Nov 9 08:04:05 2019 +0100

    Eliminate READ_RGBA()
---
 src/lib/blend.h | 15 ---------------
 src/lib/grad.c  | 28 ++++++++++++++++++----------
 2 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/src/lib/blend.h b/src/lib/blend.h
index c848fba..d589833 100644
--- a/src/lib/blend.h
+++ b/src/lib/blend.h
@@ -19,21 +19,6 @@
 
 #endif
 
-/* FIXME: endian dependent */
-#define READ_RGB(p, r, g, b)  \
-   (r) = R_VAL(p); \
-   (g) = G_VAL(p); \
-   (b) = B_VAL(p);
-
-#define READ_ALPHA(p, a) \
-   (a) = A_VAL(p);
-
-#define READ_RGBA(p, r, g, b, a) \
-   (r) = R_VAL(p); \
-   (g) = G_VAL(p); \
-   (b) = B_VAL(p); \
-   (a) = A_VAL(p);
-
 #define INTERSECTS(x, y, w, h, xx, yy, ww, hh) \
    ((x < (xx + ww)) && \
        (y < (yy + hh)) && \
diff --git a/src/lib/grad.c b/src/lib/grad.c
index b5085b2..5686a9e 100644
--- a/src/lib/grad.c
+++ b/src/lib/grad.c
@@ -8,6 +8,14 @@
 #include "grad.h"
 #include "image.h"
 
+#define ARGB_TO_R_G_B_A(argb, r, g, b, a) \
+    do { \
+        r = PIXEL_R(argb); \
+        g = PIXEL_G(argb); \
+        b = PIXEL_B(argb); \
+        a = PIXEL_A(argb); \
+    } while(0)
+
 ImlibRange         *
 __imlib_CreateRange(void)
 {
@@ -334,7 +342,7 @@ __imlib_DrawGradient(ImlibImage * im, int x, int y, int w, 
int h,
                           i = 0;
                        else if (i >= len)
                           i = len - 1;
-                       READ_RGBA(&(map[i]), r, g, b, a);
+                       ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                        BLEND_DST_ALPHA(r, g, b, a, p);
                        p++;
                     }
@@ -352,7 +360,7 @@ __imlib_DrawGradient(ImlibImage * im, int x, int y, int w, 
int h,
                           i = 0;
                        else if (i >= len)
                           i = len - 1;
-                       READ_RGBA(&(map[i]), r, g, b, a);
+                       ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                        BLEND(r, g, b, a, p);
                        p++;
                     }
@@ -370,7 +378,7 @@ __imlib_DrawGradient(ImlibImage * im, int x, int y, int w, 
int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_SUB(r, g, b, a, p);
                   p++;
                }
@@ -387,7 +395,7 @@ __imlib_DrawGradient(ImlibImage * im, int x, int y, int w, 
int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_SUB(r, g, b, a, p);
                   p++;
                }
@@ -404,7 +412,7 @@ __imlib_DrawGradient(ImlibImage * im, int x, int y, int w, 
int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_RE(r, g, b, a, p);
                   p++;
                }
@@ -527,7 +535,7 @@ __imlib_DrawHsvaGradient(ImlibImage * im, int x, int y, int 
w, int h,
                           i = 0;
                        else if (i >= len)
                           i = len - 1;
-                       READ_RGBA(&(map[i]), r, g, b, a);
+                       ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                        BLEND_DST_ALPHA(r, g, b, a, p);
                        p++;
                     }
@@ -545,7 +553,7 @@ __imlib_DrawHsvaGradient(ImlibImage * im, int x, int y, int 
w, int h,
                           i = 0;
                        else if (i >= len)
                           i = len - 1;
-                       READ_RGBA(&(map[i]), r, g, b, a);
+                       ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                        BLEND(r, g, b, a, p);
                        p++;
                     }
@@ -563,7 +571,7 @@ __imlib_DrawHsvaGradient(ImlibImage * im, int x, int y, int 
w, int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_SUB(r, g, b, a, p);
                   p++;
                }
@@ -580,7 +588,7 @@ __imlib_DrawHsvaGradient(ImlibImage * im, int x, int y, int 
w, int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_SUB(r, g, b, a, p);
                   p++;
                }
@@ -597,7 +605,7 @@ __imlib_DrawHsvaGradient(ImlibImage * im, int x, int y, int 
w, int h,
                      i = 0;
                   else if (i >= len)
                      i = len - 1;
-                  READ_RGBA(&(map[i]), r, g, b, a);
+                  ARGB_TO_R_G_B_A(map[i], r, g, b, a);
                   BLEND_RE(r, g, b, a, p);
                   p++;
                }

-- 


Reply via email to