forked from enlightenment/efl
parent
45693f5446
commit
8fd2d1b6e1
|
@ -287,6 +287,39 @@ _edje_text_real_part_on_del(Edje *ed, Edje_Real_Part *ep)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_text_fit_set(char *buf, char *text, int c1, int c2)
|
||||||
|
{
|
||||||
|
/* helper function called from _edje_text_fit_x().
|
||||||
|
* note that we can use strcpy()/strcat() safely, the buffer lengths
|
||||||
|
* are checked in the caller.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (c1 >= 0)
|
||||||
|
{
|
||||||
|
strcpy(buf, "...");
|
||||||
|
|
||||||
|
if (c2 >= 0)
|
||||||
|
{
|
||||||
|
strncat(buf, text + c1, c2 - c1);
|
||||||
|
strcat(buf, "...");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strcat(buf, text + c1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (c2 >= 0)
|
||||||
|
{
|
||||||
|
strncpy(buf, text, c2);
|
||||||
|
buf[c2] = 0;
|
||||||
|
strcat(buf, "...");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strcpy(buf, text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
_edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
|
_edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
|
||||||
Edje_Calc_Params *params,
|
Edje_Calc_Params *params,
|
||||||
|
@ -397,27 +430,8 @@ _edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
|
||||||
|
|
||||||
buf[0] = 0;
|
buf[0] = 0;
|
||||||
|
|
||||||
if (c1 >= 0)
|
_edje_text_fit_set(buf, text, c1, c2);
|
||||||
{
|
|
||||||
strcpy(buf, "...");
|
|
||||||
if (c2 >= 0)
|
|
||||||
{
|
|
||||||
strncat(buf, text + c1, c2 - c1);
|
|
||||||
strcat(buf, "...");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
strcat(buf, text + c1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (c2 >= 0)
|
|
||||||
{
|
|
||||||
strncpy(buf, text, c2);
|
|
||||||
buf[c2] = 0;
|
|
||||||
strcat(buf, "...");
|
|
||||||
}
|
|
||||||
else strcpy(buf, text);
|
|
||||||
}
|
|
||||||
evas_object_text_text_set(ep->object, buf);
|
evas_object_text_text_set(ep->object, buf);
|
||||||
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
|
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue