|
|
|
@ -609,6 +609,7 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, |
|
|
|
|
else evas_object_hide(ep->object); |
|
|
|
|
{ |
|
|
|
|
Evas_Text_Style_Type style; |
|
|
|
|
Edje_Text_Effect effect; |
|
|
|
|
|
|
|
|
|
style = EVAS_TEXT_STYLE_PLAIN; |
|
|
|
|
|
|
|
|
@ -617,50 +618,46 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, |
|
|
|
|
(params->color.g * params->color.a) / 255, |
|
|
|
|
(params->color.b * params->color.a) / 255, |
|
|
|
|
params->color.a); |
|
|
|
|
|
|
|
|
|
if ((ep->part->effect == EDJE_TEXT_EFFECT_NONE) || |
|
|
|
|
(ep->part->effect == EDJE_TEXT_EFFECT_PLAIN)) |
|
|
|
|
{ |
|
|
|
|
effect = ep->part->effect; |
|
|
|
|
switch (effect & EDJE_TEXT_EFFECT_MASK_BASIC) |
|
|
|
|
{ |
|
|
|
|
case EDJE_TEXT_EFFECT_NONE: |
|
|
|
|
case EDJE_TEXT_EFFECT_PLAIN: |
|
|
|
|
style = EVAS_TEXT_STYLE_PLAIN; |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_OUTLINE) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_OUTLINE: |
|
|
|
|
style = EVAS_TEXT_STYLE_OUTLINE; |
|
|
|
|
evas_object_text_outline_color_set(ep->object, |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.g * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.b * params->type.text.color2.a) / 255, |
|
|
|
|
params->type.text.color2.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_SOFT_OUTLINE) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SOFT_OUTLINE: |
|
|
|
|
style = EVAS_TEXT_STYLE_SOFT_OUTLINE; |
|
|
|
|
evas_object_text_outline_color_set(ep->object, |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.g * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.b * params->type.text.color2.a) / 255, |
|
|
|
|
params->type.text.color2.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_SHADOW; |
|
|
|
|
evas_object_text_shadow_color_set(ep->object, |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_SOFT_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SOFT_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_SOFT_SHADOW; |
|
|
|
|
evas_object_text_shadow_color_set(ep->object, |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_OUTLINE_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_OUTLINE_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_OUTLINE_SHADOW; |
|
|
|
|
evas_object_text_outline_color_set(ep->object, |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
@ -672,9 +669,8 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW; |
|
|
|
|
evas_object_text_outline_color_set(ep->object, |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
@ -686,48 +682,84 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_FAR_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_FAR_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_FAR_SHADOW; |
|
|
|
|
evas_object_text_shadow_color_set(ep->object, |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_FAR_SOFT_SHADOW; |
|
|
|
|
evas_object_text_shadow_color_set(ep->object, |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
else if (ep->part->effect == EDJE_TEXT_EFFECT_GLOW) |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_GLOW: |
|
|
|
|
style = EVAS_TEXT_STYLE_GLOW; |
|
|
|
|
evas_object_text_glow_color_set(ep->object, |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.g * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.b * params->type.text.color2.a) / 255, |
|
|
|
|
params->type.text.color2.a); |
|
|
|
|
(params->type.text.color2.r * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.g * params->type.text.color2.a) / 255, |
|
|
|
|
(params->type.text.color2.b * params->type.text.color2.a) / 255, |
|
|
|
|
params->type.text.color2.a); |
|
|
|
|
evas_object_text_glow2_color_set(ep->object, |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
} |
|
|
|
|
(params->type.text.color3.r * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.g * params->type.text.color3.a) / 255, |
|
|
|
|
(params->type.text.color3.b * params->type.text.color3.a) / 255, |
|
|
|
|
params->type.text.color3.a); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
style = EVAS_TEXT_STYLE_PLAIN; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch (effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) |
|
|
|
|
{ |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT); |
|
|
|
|
break; |
|
|
|
|
case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT: |
|
|
|
|
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET |
|
|
|
|
(style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
evas_object_text_style_set(ep->object, style); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (free_text) |
|
|
|
|
free((char *)text); |
|
|
|
|
if (font2) |
|
|
|
|
free(font2); |
|
|
|
|
if (sfont) |
|
|
|
|
free(sfont); |
|
|
|
|
|
|
|
|
|
if (free_text) free((char *)text); |
|
|
|
|
if (font2) free(font2); |
|
|
|
|
if (sfont) free(sfont); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Evas_Font_Size |
|
|
|
|