cedric pushed a commit to branch master.
commit 1927bcea91967dc01a923c045ef35479e1afbaac
Author: Cedric Bail <[email protected]>
Date: Mon Aug 5 17:41:09 2013 +0900
edje: do not move object until all positionning information is known.
---
src/lib/edje/edje_calc.c | 4 ++--
src/lib/edje/edje_private.h | 3 ++-
src/lib/edje/edje_text.c | 16 ++++++++++------
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f365c3c..280dbac 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -1462,7 +1462,7 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
free(sfont);
params->type.text.size = size; /* XXX TODO used by further calcs, go inside
recalc_apply? */
- _edje_text_recalc_apply(ed, ep, params, chosen_desc);
+ _edje_text_recalc_apply(ed, ep, params, chosen_desc, EINA_TRUE);
if ((!chosen_desc) ||
((!chosen_desc->text.min_x) && (!chosen_desc->text.min_y) &&
@@ -3813,7 +3813,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int
flags, Edje_Calc_Params *sta
switch (ep->part->type)
{
case EDJE_PART_TYPE_TEXT:
- _edje_text_recalc_apply(ed, ep, pf,
(Edje_Part_Description_Text*) chosen_desc);
+ _edje_text_recalc_apply(ed, ep, pf,
(Edje_Part_Description_Text*) chosen_desc, EINA_FALSE);
break;
case EDJE_PART_TYPE_PROXY:
_edje_proxy_recalc_apply(ed, ep, pf,
(Edje_Part_Description_Proxy*) chosen_desc, pos);
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 8f587e2..b29b469 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2013,7 +2013,8 @@ void _edje_text_part_on_del(Edje *ed, Edje_Part
*ep);
void _edje_text_recalc_apply(Edje *ed,
Edje_Real_Part *ep,
Edje_Calc_Params *params,
- Edje_Part_Description_Text
*chosen_desc);
+ Edje_Part_Description_Text *chosen_desc,
+ Eina_Bool calc_only);
Evas_Font_Size _edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc);
const char * _edje_text_class_font_get(Edje *ed,
Edje_Part_Description_Text
*chosen_desc,
diff --git a/src/lib/edje/edje_text.c b/src/lib/edje/edje_text.c
index 1f508e2..3f68519 100644
--- a/src/lib/edje/edje_text.c
+++ b/src/lib/edje/edje_text.c
@@ -161,7 +161,8 @@ _edje_text_class_font_get(Edje *ed,
Edje_Part_Description_Text *chosen_desc, int
void
_edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
Edje_Calc_Params *params,
- Edje_Part_Description_Text *chosen_desc)
+ Edje_Part_Description_Text *chosen_desc,
+ Eina_Bool calc_only)
{
const char *text = NULL;
const char *font;
@@ -442,12 +443,15 @@ arrange_text:
ep->typedata.text->offset.y = TO_INT(SCALE(params->type.text.align.y,
(sh - th)));
}
- evas_object_move(ep->object,
- ed->x + TO_INT(params->eval.x) +
ep->typedata.text->offset.x,
- ed->y + TO_INT(params->eval.y) +
ep->typedata.text->offset.y);
+ if (!calc_only)
+ {
+ evas_object_move(ep->object,
+ ed->x + TO_INT(params->eval.x) +
ep->typedata.text->offset.x,
+ ed->y + TO_INT(params->eval.y) +
ep->typedata.text->offset.y);
- if (params->visible) evas_object_show(ep->object);
- else evas_object_hide(ep->object);
+ if (params->visible) evas_object_show(ep->object);
+ else evas_object_hide(ep->object);
+ }
{
--
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent
caught up. So what steps can you take to put your SQL databases under
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk