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 <ullysses.a.eoff@intel.com>
This commit is contained in:
U. Artie Eoff 2013-11-22 15:07:14 -08:00
parent 26df676e06
commit 9c1466e193
2 changed files with 12 additions and 0 deletions

View File

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

View File

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