END_TEST START_TEST(evas_text_style) { Evas_Coord l, r, t, b; START_TEXT_TEST(); const char *buf = "Test"; evas_object_text_text_set(to, buf); evas_object_text_style_set(to, EVAS_TEXT_STYLE_PLAIN); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 0) || (r != 0) || (t != 0) || (b != 0)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 0) || (r != 1) || (t != 0) || (b != 1)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 1) || (r != 1) || (t != 1) || (b != 1)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_SOFT_OUTLINE); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 2) || (r != 2) || (t != 2) || (b != 2)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_GLOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 2) || (r != 2) || (t != 2) || (b != 2)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 1) || (r != 2) || (t != 1) || (b != 2)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_FAR_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 1) || (r != 2) || (t != 1) || (b != 2)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 1) || (r != 3) || (t != 1) || (b != 3)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_SOFT_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 1) || (r != 3) || (t != 1) || (b != 3)); evas_object_text_style_set(to, EVAS_TEXT_STYLE_FAR_SOFT_SHADOW); evas_object_text_style_pad_get(to, &l, &r, &t, &b); fail_if((l != 0) || (r != 4) || (t != 0) || (b != 4)); fail_if(strcmp(evas_object_text_text_get(to), buf)); END_TEXT_TEST(); }
/** * Add a text object to the screen. */ Evas_Object * label_add(Evas *e, int x, int y, const char *fmt, bool anim){ Evas_Object *o; Ecore_Timer *timer; if (!e) return NULL; o = evas_object_text_add(e); evas_object_text_font_set(o, "Vera", 15); evas_object_text_style_set(o, EVAS_TEXT_STYLE_SOFT_OUTLINE); evas_object_color_set(o, 0,0,0,255); evas_object_text_outline_color_set(o,255,255,255,255); evas_object_layer_set(o, 1); evas_object_text_text_set(o,fmt); evas_object_move(o,x,y); if (visible) evas_object_show(o); labels = eina_list_append(labels, o); if (!anim) return o; timer = ecore_timer_add(0.1, label_move, o); return o; }
//--------------------------------------------------------------------- //! @brief Constructor //--------------------------------------------------------------------- Label::Label( Evas* _win ) : x__( 0 ) , y__( 0 ) , width__( 0 ) , height__( 0 ) , text__() , label__( nullptr ) , visibility__( Visibility::INVISIBLE ) { label__ = evas_object_text_add( _win ); evas_object_text_style_set( label__ , EVAS_TEXT_STYLE_GLOW ); evas_object_text_font_set( label__ , FONT.c_str() , PageManager::getFontSize() ); setColor( 255 , 255 , 255 , 255 ); evas_object_text_glow_color_set( label__ , 56 , 0 , 255 , 255 ); }
/** * A utility function to get the average size of a character written inside * the editable object * * @param editable an editable object * @param w the location where to store the average width of a character * @param h the location where to store the average height of a character */ EAPI void e_editable_char_size_get(Evas_Object *editable, int *w, int *h) { int tw = 0, th = 0; Evas *evas; const Evas_Object *text_obj; Evas_Object *obj; E_Editable_Smart_Data *sd; char *text = "Tout est bon dans l'abricot sauf le noyau!" "Wakey wakey! Eggs and Bakey!"; const char *font, *font_source; Evas_Text_Style_Type style; int font_size; if (w) *w = 0; if (h) *h = 0; if (evas_object_smart_smart_get(editable) != _e_editable_smart) SMARTERRNR(); if ((!editable) || (!(evas = evas_object_evas_get(editable)))) return; if (!(sd = evas_object_smart_data_get(editable))) return; if (!(text_obj = edje_object_part_object_get(sd->text_object, "e.text.text"))) return; if ((sd->average_char_w <= 0) || (sd->average_char_h <= 0)) { font_source = evas_object_text_font_source_get(text_obj); evas_object_text_font_get(text_obj, &font, &font_size); style = evas_object_text_style_get(text_obj); obj = evas_object_text_add(evas); evas_object_scale_set(obj, edje_scale_get()); evas_object_text_font_source_set(obj, font_source); evas_object_text_font_set(obj, font, font_size); evas_object_text_style_set(obj, style); evas_object_text_text_set(obj, text); evas_object_geometry_get(obj, NULL, NULL, &tw, &th); evas_object_del(obj); sd->average_char_w = (tw / strlen(text)); sd->average_char_h = th; } if (w) *w = sd->average_char_w; if (h) *h = sd->average_char_h; }
/* setup */ static void _setup(void) { int i,w,h; Evas_Object *o,*s; Evas_Text_Style_Type st; st = EVAS_TEXT_STYLE_SHADOW; for (i = 0; st <= EVAS_TEXT_STYLE_FAR_SOFT_SHADOW; i++) { o = evas_object_text_add(evas); o_texts[i] = o; evas_object_text_font_set(o, "Vera-Bold", 20); evas_object_text_text_set(o, "This is a test string"); evas_object_text_style_set(o, st); evas_object_color_set(o, 255, 255, 255, 255); evas_object_text_shadow_color_set(o, 0, 0, 0, 24); evas_object_text_glow_color_set(o, 100, 80, 40, 100); evas_object_text_glow2_color_set(o, 50, 10, 5, 50); evas_object_text_outline_color_set(o, 0, 0, 0, 255); evas_object_show(o); st++; } for ( ; i < OBNUM ; i ++) { s = o_texts[i % st]; o = evas_object_image_add(evas); o_texts[i] = o; evas_object_image_source_set(o, s); evas_object_geometry_get(s, NULL, NULL, &w, &h); evas_object_resize(o, w, h); evas_object_image_fill_set(o, 0, 0, w, h); evas_object_show(o); } done = 0; }
END_TEST #define _CHECK_SET_GET(x) \ do \ { \ Evas_Coord r, g, b, a; \ evas_object_text_##x##_set(to, 100, 150, 125, 12); \ evas_object_text_##x##_get(to, &r, &g, &b, &a); \ fail_if((r != 100) || (g != 150) || (b != 125) || (a != 12)); \ /* Set to the same value */ \ evas_object_text_##x##_set(to, 100, 150, 125, 12); \ evas_object_text_##x##_get(to, &r, &g, &b, &a); \ fail_if((r != 100) || (g != 150) || (b != 125) || (a != 12)); \ } \ while (0) START_TEST(evas_text_set_get) { START_TEXT_TEST(); const char *buf = "Test - בדיקה"; /* Text */ evas_object_text_text_set(to, buf); fail_if(strcmp(evas_object_text_text_get(to), buf)); /* Colors */ _CHECK_SET_GET(shadow_color); _CHECK_SET_GET(glow_color); _CHECK_SET_GET(glow2_color); _CHECK_SET_GET(outline_color); /* Font and size */ const char *font = TEST_FONT_NAME; Evas_Font_Size size = 14; evas_object_text_font_set(to, font, size); font = NULL; size = 0; evas_object_text_font_get(to, &font, &size); fail_if(strcmp(font, TEST_FONT_NAME)); fail_if(size != 14); evas_object_text_font_set(to, font, size); font = NULL; size = 0; evas_object_text_font_get(to, &font, &size); fail_if(strcmp(font, TEST_FONT_NAME)); fail_if(size != 14); font = "NON-EXISTING-FONT"; size = 14; evas_object_text_font_set(to, font, size); font = NULL; size = 0; evas_object_text_font_get(to, &font, &size); fail_if(strcmp(font, "NON-EXISTING-FONT")); font = "Serif"; size = 2; evas_object_text_font_set(to, font, size); font = NULL; size = 0; evas_object_text_font_get(to, &font, &size); fail_if(strcmp(font, "Serif")); fail_if(size != 2); evas_object_text_font_source_set(to, "/usr/share/fonts/Sans.ttf"); font = evas_object_text_font_source_get(to); fail_if(strcmp(font, "/usr/share/fonts/Sans.ttf")); evas_object_text_font_source_set(to, "/usr/share/fonts/Sans.ttf"); font = evas_object_text_font_source_get(to); fail_if(strcmp(font, "/usr/share/fonts/Sans.ttf")); /* BiDi Delimiters */ evas_object_text_bidi_delimiters_set(to, ",.|"); fail_if(strcmp(evas_object_text_bidi_delimiters_get(to), ",.|")); evas_object_text_bidi_delimiters_set(to, ",|"); fail_if(strcmp(evas_object_text_bidi_delimiters_get(to), ",|")); evas_object_text_bidi_delimiters_set(to, NULL); fail_if(evas_object_text_bidi_delimiters_get(to)); evas_object_text_bidi_delimiters_set(to, ",|"); fail_if(strcmp(evas_object_text_bidi_delimiters_get(to), ",|")); /* Style */ evas_object_text_text_set(to, ""); evas_object_text_style_set(to, EVAS_TEXT_STYLE_SHADOW); fail_if(evas_object_text_style_get(to) != EVAS_TEXT_STYLE_SHADOW); evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE); fail_if(evas_object_text_style_get(to) != EVAS_TEXT_STYLE_OUTLINE); /* Rehinting */ evas_object_text_text_set(to, "Bla"); evas_font_hinting_set(evas, EVAS_FONT_HINTING_NONE); evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); evas_font_hinting_set(evas, EVAS_FONT_HINTING_BYTECODE); /* Direction of an empty text should be NEUTRAL */ evas_object_text_text_set(to, ""); fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_NEUTRAL); /* LTR paragraphs */ evas_object_text_text_set(to, "Test נסיון"); fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_LTR); /* RTL paragraphs */ evas_object_text_text_set(to, "נסיון test"); #ifdef HAVE_FRIBIDI fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_RTL); #else fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_LTR); #endif END_TEXT_TEST(); }
void Text::setStyle (Evas_Text_Style_Type type) { evas_object_text_style_set (o, type); }