uartie pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9c1466e19315852352886078d988579a80162c41

commit 9c1466e19315852352886078d988579a80162c41
Author: U. Artie Eoff <[email protected]>
Date:   Fri Nov 22 15:07:14 2013 -0800

    evas/examples: fix clipper colors in evas-object-manipulation
    
    This makes the clipper colors correct and also gets rid of the
    following error message spam:
    
    ERR..._color_set() Evas only handles pre multiplied colors!
    
    Fixes T557
    
    Signed-off-by: U. Artie Eoff <[email protected]>
---
 src/examples/evas/evas-object-manipulation-eo.c | 6 ++++++
 src/examples/evas/evas-object-manipulation.c    | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/src/examples/evas/evas-object-manipulation-eo.c 
b/src/examples/evas/evas-object-manipulation-eo.c
index 2fc5c8d..03941aa 100644
--- a/src/examples/evas/evas-object-manipulation-eo.c
+++ b/src/examples/evas/evas-object-manipulation-eo.c
@@ -77,10 +77,13 @@ _on_keydown(void        *data EINA_UNUSED,
         int alpha, r, g, b;
 
         eo_do(d.clipper, evas_obj_color_get(&r, &g, &b, &alpha));
+        evas_color_argb_unpremul(alpha, &r, &g, &b);
+
         alpha -= 20;
         if (alpha < 0)
           alpha = 255;
 
+        evas_color_argb_premul(alpha, &r, &g, &b);
         eo_do(d.clipper, evas_obj_color_set(r, g, b, alpha));
 
         fprintf(stdout, "Changing clipper's opacity: %d%%\n",
@@ -96,6 +99,8 @@ _on_keydown(void        *data EINA_UNUSED,
         fprintf(stdout, "Changing clipper's color to");
 
         eo_do(d.clipper, evas_obj_color_get(&r, &g, &b, &alpha));
+        evas_color_argb_unpremul(alpha, &r, &g, &b);
+
         if (g > 0)
           {
              fprintf(stdout, "red\n");
@@ -107,6 +112,7 @@ _on_keydown(void        *data EINA_UNUSED,
              g = b = 255;
           }
 
+        evas_color_argb_premul(alpha, &r, &g, &b);
         eo_do(d.clipper, evas_obj_color_set(r, g, b, alpha));
         return;
      }
diff --git a/src/examples/evas/evas-object-manipulation.c 
b/src/examples/evas/evas-object-manipulation.c
index 2ecc2b5..adc0316 100644
--- a/src/examples/evas/evas-object-manipulation.c
+++ b/src/examples/evas/evas-object-manipulation.c
@@ -70,10 +70,13 @@ _on_keydown(void        *data EINA_UNUSED,
         int alpha, r, g, b;
 
         evas_object_color_get(d.clipper, &r, &g, &b, &alpha);
+        evas_color_argb_unpremul(alpha, &r, &g, &b);
+
         alpha -= 20;
         if (alpha < 0)
           alpha = 255;
 
+        evas_color_argb_premul(alpha, &r, &g, &b);
         evas_object_color_set(d.clipper, r, g, b, alpha);
 
         fprintf(stdout, "Changing clipper's opacity: %d%%\n",
@@ -89,6 +92,8 @@ _on_keydown(void        *data EINA_UNUSED,
         fprintf(stdout, "Changing clipper's color to");
 
         evas_object_color_get(d.clipper, &r, &g, &b, &alpha);
+        evas_color_argb_unpremul(alpha, &r, &g, &b);
+
         if (g > 0)
           {
              fprintf(stdout, "red\n");
@@ -100,6 +105,7 @@ _on_keydown(void        *data EINA_UNUSED,
              g = b = 255;
           }
 
+        evas_color_argb_premul(alpha, &r, &g, &b);
         evas_object_color_set(d.clipper, r, g, b, alpha);
         return;
      }

-- 


Reply via email to