jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=31984449a546f165d8de5f4cb39bf0c602d6bd16

commit 31984449a546f165d8de5f4cb39bf0c602d6bd16
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Wed Dec 9 11:42:31 2015 +0900

    Evas filters: Move 'fill' to its own file
---
 src/Makefile_Evas.am                    |  1 +
 src/lib/evas/filters/evas_filter.c      | 70 ---------------------------------
 src/lib/evas/filters/evas_filter_fill.c | 65 ++++++++++++++++++++++++++++++
 src/lib/evas/include/evas_macros.h      |  4 ++
 4 files changed, 70 insertions(+), 70 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index c942d21..b2d1c7a 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -543,6 +543,7 @@ lib/evas/filters/evas_filter_blur.c \
 lib/evas/filters/evas_filter_bump.c \
 lib/evas/filters/evas_filter_curve.c \
 lib/evas/filters/evas_filter_displace.c \
+lib/evas/filters/evas_filter_fill.c \
 lib/evas/filters/evas_filter_mask.c \
 lib/evas/filters/evas_filter_parser.c \
 lib/evas/filters/evas_filter_transform.c \
diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index 42f2da8..b7d8370 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -28,11 +28,6 @@ static void _buffer_free(Evas_Filter_Buffer *fb);
 static void _command_del(Evas_Filter_Context *ctx, Evas_Filter_Command *cmd);
 static RGBA_Image *_rgba_image_alloc(Evas_Filter_Buffer const *fb, void *data);
 
-#ifdef CLAMP
-# undef CLAMP
-#endif
-#define CLAMP(a,b,c) MIN(MAX((b),(a)),(c))
-
 #define DRAW_COLOR_SET(r, g, b, a) do { cmd->draw.R = r; cmd->draw.G = g; 
cmd->draw.B = b; cmd->draw.A = a; } while (0)
 #define DRAW_CLIP_SET(_x, _y, _w, _h) do { cmd->draw.clip.x = _x; 
cmd->draw.clip.y = _y; cmd->draw.clip.w = _w; cmd->draw.clip.h = _h; } while (0)
 #define DRAW_FILL_SET(fmode) do { cmd->draw.fillmode = fmode; } while (0)
@@ -1365,71 +1360,6 @@ evas_filter_command_transform_add(Evas_Filter_Context 
*ctx,
    return cmd->id;
 }
 
-static Eina_Bool
-_fill_cpu(Evas_Filter_Command *cmd)
-{
-   Evas_Filter_Buffer *fb = cmd->output;
-   int step = fb->alpha_only ? sizeof(DATA8) : sizeof(DATA32);
-   int x = MAX(0, cmd->draw.clip.x);
-   int y = MAX(0, cmd->draw.clip.y);
-   DATA8 *ptr = ((RGBA_Image *) fb->backing)->image.data8;
-   int w, h, k, j;
-
-   if (!cmd->draw.clip_mode_lrtb)
-     {
-        if (cmd->draw.clip.w)
-          w = MIN(cmd->draw.clip.w, fb->w - x);
-        else
-          w = fb->w - x;
-        if (cmd->draw.clip.h)
-          h = MIN(cmd->draw.clip.h, fb->h - y);
-        else
-          h = fb->h - y;
-     }
-   else
-     {
-        x = MAX(0, cmd->draw.clip.l);
-        y = MAX(0, cmd->draw.clip.t);
-        w = CLAMP(0, fb->w - x - cmd->draw.clip.r, fb->w - x);
-        h = CLAMP(0, fb->h - y - cmd->draw.clip.b, fb->h - y);
-     }
-
-   ptr += y * step * fb->w;
-   if ((fb->alpha_only)
-       || (!cmd->draw.R && !cmd->draw.G && !cmd->draw.B && !cmd->draw.A)
-       || ((cmd->draw.R == 0xff) && (cmd->draw.G == 0xff)
-           && (cmd->draw.B == 0xff) && (cmd->draw.A == 0xff)))
-     {
-        for (k = 0; k < h; k++)
-          {
-             memset(ptr + (x * step), cmd->draw.A, step * w);
-             ptr += step * fb->w;
-          }
-     }
-   else
-     {
-        DATA32 *dst = ((DATA32 *) ptr) + x;
-        DATA32 color = ARGB_JOIN(cmd->draw.A, cmd->draw.R, cmd->draw.G, 
cmd->draw.B);
-        for (k = 0; k < h; k++)
-          {
-             for (j = 0; j < w; j++)
-               *dst++ = color;
-             dst += fb->w - w;
-          }
-     }
-
-   return EINA_TRUE;
-}
-
-Evas_Filter_Apply_Func
-evas_filter_fill_cpu_func_get(Evas_Filter_Command *cmd)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->output, NULL);
-   return _fill_cpu;
-}
-
-
 /* Final target */
 Eina_Bool
 evas_filter_target_set(Evas_Filter_Context *ctx, void *draw_context,
diff --git a/src/lib/evas/filters/evas_filter_fill.c 
b/src/lib/evas/filters/evas_filter_fill.c
new file mode 100644
index 0000000..5293233
--- /dev/null
+++ b/src/lib/evas/filters/evas_filter_fill.c
@@ -0,0 +1,65 @@
+#include "evas_filter_private.h"
+
+static Eina_Bool
+_fill_cpu(Evas_Filter_Command *cmd)
+{
+   Evas_Filter_Buffer *fb = cmd->output;
+   int step = fb->alpha_only ? sizeof(DATA8) : sizeof(DATA32);
+   int x = MAX(0, cmd->draw.clip.x);
+   int y = MAX(0, cmd->draw.clip.y);
+   DATA8 *ptr = ((RGBA_Image *) fb->backing)->image.data8;
+   int w, h, k, j;
+
+   if (!cmd->draw.clip_mode_lrtb)
+     {
+        if (cmd->draw.clip.w)
+          w = MIN(cmd->draw.clip.w, fb->w - x);
+        else
+          w = fb->w - x;
+        if (cmd->draw.clip.h)
+          h = MIN(cmd->draw.clip.h, fb->h - y);
+        else
+          h = fb->h - y;
+     }
+   else
+     {
+        x = MAX(0, cmd->draw.clip.l);
+        y = MAX(0, cmd->draw.clip.t);
+        w = CLAMP(0, fb->w - x - cmd->draw.clip.r, fb->w - x);
+        h = CLAMP(0, fb->h - y - cmd->draw.clip.b, fb->h - y);
+     }
+
+   ptr += y * step * fb->w;
+   if ((fb->alpha_only)
+       || (!cmd->draw.R && !cmd->draw.G && !cmd->draw.B && !cmd->draw.A)
+       || ((cmd->draw.R == 0xff) && (cmd->draw.G == 0xff)
+           && (cmd->draw.B == 0xff) && (cmd->draw.A == 0xff)))
+     {
+        for (k = 0; k < h; k++)
+          {
+             memset(ptr + (x * step), cmd->draw.A, step * w);
+             ptr += step * fb->w;
+          }
+     }
+   else
+     {
+        DATA32 *dst = ((DATA32 *) ptr) + x;
+        DATA32 color = ARGB_JOIN(cmd->draw.A, cmd->draw.R, cmd->draw.G, 
cmd->draw.B);
+        for (k = 0; k < h; k++)
+          {
+             for (j = 0; j < w; j++)
+               *dst++ = color;
+             dst += fb->w - w;
+          }
+     }
+
+   return EINA_TRUE;
+}
+
+Evas_Filter_Apply_Func
+evas_filter_fill_cpu_func_get(Evas_Filter_Command *cmd)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->output, NULL);
+   return _fill_cpu;
+}
diff --git a/src/lib/evas/include/evas_macros.h 
b/src/lib/evas/include/evas_macros.h
index ed29dbd..c3bc339 100644
--- a/src/lib/evas/include/evas_macros.h
+++ b/src/lib/evas/include/evas_macros.h
@@ -13,6 +13,10 @@
 #undef MAX
 #define MAX(x, y) (((x) > (y)) ? (x) : (y))
 
+/* clamp b between a and c */
+#undef CLAMP
+#define CLAMP(a,b,c) MIN(MAX((b),(a)),(c))
+
 #define SWAP32(x) (x) = \
    ((((x) & 0x000000ff ) << 24) | \
     (((x) & 0x0000ff00 ) << 8)  | \

-- 


Reply via email to