From 26ba629f0028dbde90bdbb9dc581aa0005a90bd5 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 25 Mar 2014 11:54:04 +0900 Subject: [PATCH] Fix previous commit's API usage and improve layout Font effects now have "padding_set" which will fix the geometry of the text object. Thanks to Jaeun for preparing this work :) --- src/bin/font_effect_blur_alpha.c | 25 ++++++++++--------------- src/bin/font_effect_blur_color.c | 15 +++++++++++---- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/bin/font_effect_blur_alpha.c b/src/bin/font_effect_blur_alpha.c index 4b5f49d..8f812c9 100644 --- a/src/bin/font_effect_blur_alpha.c +++ b/src/bin/font_effect_blur_alpha.c @@ -16,29 +16,25 @@ /* standard var */ static int done = 0; -/* private data */ -static Evas_Object *bg; -static Evas_Object *text; - extern int win_w, win_h; - +/* private data */ +static Evas_Object *text; +static const int MAX_BLUR = 100; /* setup */ static void _setup(void) { Evas_Object *o; - o = evas_object_rectangle_add(evas); - evas_object_color_set(o, 0, 0, 0, 255); - evas_object_resize(o, win_w, win_h); - evas_object_show(o); - bg = o; + int w,h; o = evas_object_text_add(evas); evas_object_color_set(o, 0, 0, 0, 255); evas_object_text_font_set(o, "Vera-Bold", 80); evas_object_text_text_set(o, "Font Effect"); evas_object_show(o); + evas_object_geometry_get(o, NULL, NULL, &w, &h); + evas_object_move(o, (win_w / 2) - (w / 2) - MAX_BLUR, (win_h / 2) - (h / 2) - MAX_BLUR); text = o; done = 0; @@ -47,17 +43,16 @@ static void _setup(void) /* cleanup */ static void _cleanup(void) { - evas_object_del(bg); evas_object_del(text); } /* loop - do things */ static void _loop(double t, int f) { - char buf[128]; - char *str = "blur(%d);"; - sprintf(buf, str, ((f % 50) + 1)); - evas_object_text_filter_program_set(text, buf); + char buf[256]; + char *str = "padding_set(%d);blur(%d,color=black);"; + sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1)); + eo_do(text, evas_obj_text_filter_program_set(buf)); FPS_STD(NAME); } diff --git a/src/bin/font_effect_blur_color.c b/src/bin/font_effect_blur_color.c index d3c5cca..875f440 100644 --- a/src/bin/font_effect_blur_color.c +++ b/src/bin/font_effect_blur_color.c @@ -19,17 +19,24 @@ static int done = 0; /* private data */ static Evas_Object *text; +extern int win_w, win_h; +static const int MAX_BLUR = 100; + /* setup */ static void _setup(void) { Evas_Object *o; + int w, h; + o = evas_object_text_add(evas); evas_object_color_set(o, 0, 0, 0, 255); evas_object_text_font_set(o, "Vera-Bold", 80); evas_object_text_text_set(o, "Font Effect"); evas_object_show(o); + evas_object_geometry_get(o, NULL, NULL, &w, &h); + evas_object_move(o, (win_w / 2) - (w / 2) - MAX_BLUR, (win_h / 2) - (h / 2) - MAX_BLUR); text = o; done = 0; @@ -44,10 +51,10 @@ static void _cleanup(void) /* loop - do things */ static void _loop(double t, int f) { - char buf[128]; - char *str = "buffer:a(rgba);blend(dst=a, color=blue);blur(%d, src=a);"; - sprintf(buf, str, ((f % 50) + 1)); - evas_object_text_filter_program_set(text, buf); + char buf[256]; + char *str = "buffer:a(rgba);padding_set(%d);blend(dst=a,color=darkblue);blur(%d,src=a);"; + sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1)); + eo_do(text, evas_obj_text_filter_program_set(buf)); FPS_STD(NAME); }