cedric pushed a commit to branch master.
commit b13db5ab8d4044a3501a8c186e3f1de19d002c35
Author: Cedric Bail <[email protected]>
Date: Mon Aug 12 16:47:12 2013 +0900
edje: forth recalc for text part that got adjusted during a calc_only.
---
src/lib/edje/edje_calc.c | 43 ++++++++++++++++++++++++++++++++++---------
1 file changed, 34 insertions(+), 9 deletions(-)
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index b4ebcae..0967a37 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2355,24 +2355,49 @@ _edje_part_recalc_single(Edje *ed,
/* Adjust rounding to not loose one pixels compared to float
information only when rendering to avoid infinite adjustement
when doing min restricted calc */
- if (!ed->calc_only)
+ if (ABS(params->final.x) + params->final.w <
TO_INT(ADD(ABS(params->eval.x), params->eval.w)))
{
- if (ABS(params->final.x) + params->final.w <
TO_INT(ADD(ABS(params->eval.x), params->eval.w)))
- {
+ if (!ed->calc_only)
+ {
params->final.w += 1;
- }
- else if (ABS(params->final.x) + params->final.w >
TO_INT(ADD(ABS(params->eval.x), params->eval.w)))
- {
+ }
+ else
+ {
+ ep->invalidate = EINA_TRUE;
+ }
+ }
+ else if (ABS(params->final.x) + params->final.w >
TO_INT(ADD(ABS(params->eval.x), params->eval.w)))
+ {
+ if (!ed->calc_only)
+ {
params->final.w -= 1;
- }
- if (ABS(params->final.y) + params->final.h <
TO_INT(ADD(ABS(params->eval.y), params->eval.h)))
+ }
+ else
+ {
+ ep->invalidate = EINA_TRUE;
+ }
+ }
+ if (ABS(params->final.y) + params->final.h <
TO_INT(ADD(ABS(params->eval.y), params->eval.h)))
+ {
+ if (!ed->calc_only)
{
params->final.h += 1;
}
- else if (ABS(params->final.y) + params->final.h >
TO_INT(ADD(ABS(params->eval.y), params->eval.h)))
+ else
+ {
+ ep->invalidate = EINA_TRUE;
+ }
+ }
+ else if (ABS(params->final.y) + params->final.h >
TO_INT(ADD(ABS(params->eval.y), params->eval.h)))
+ {
+ if (!ed->calc_only)
{
params->final.h -= 1;
}
+ else
+ {
+ ep->invalidate = EINA_TRUE;
+ }
}
/* fill */
--
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk