Пример #1
0
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();
}
Пример #2
0
/**
 * 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;
}
Пример #3
0
        //---------------------------------------------------------------------
        //! @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 );
        }
Пример #4
0
/**
 * 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;
}
Пример #6
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();
}
Пример #7
0
void Text::setStyle (Evas_Text_Style_Type type)
{
  evas_object_text_style_set (o, type);
}