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; } --
