Enlightenment CVS committal Author : raster Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: edje_calc.c Log Message: fix some aspect cacls =================================================================== RCS file: /cvs/e/e17/libs/edje/src/lib/edje_calc.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -3 -r1.86 -r1.87 --- edje_calc.c 3 Aug 2006 09:47:17 -0000 1.86 +++ edje_calc.c 8 Aug 2006 20:25:24 -0000 1.87 @@ -346,19 +346,29 @@ break; } } - if (apref == EDJE_ASPECT_PREFER_NONE) /* keep both dimensions in check */ + if (apref == EDJE_ASPECT_PREFER_NONE) /* keep botth dimensions in check */ { + /* adjust for min aspect (width / height) */ + if ((amin > 0.0) && (aspect < amin)) + { + new_h = (params->w / amin); + new_w = (params->h * amin); + } /* adjust for max aspect (width / height) */ if ((amax > 0.0) && (aspect > amax)) { new_h = (params->w / amax); new_w = (params->h * amax); } - /* adjust for min aspect (width / height) */ - if ((amin > 0.0) && (aspect < amin)) + if ((amax > 0.0) && (new_w < params->w)) { - new_h = (params->w / amin); - new_w = (params->h * amin); + new_w = params->w; + new_h = params->w / amax; + } + if ((amax > 0.0) && (new_h < params->h)) + { + new_w = params->h * amax; + new_h = params->h; } } /* prefer vertical size as determiner */ else if (apref == EDJE_ASPECT_PREFER_VERTICAL) /* keep both dimensions in check */ @@ -395,12 +405,15 @@ } } - if ((maxw >= 0) && (new_w > maxw)) new_w = maxw; - if (new_w < minw) new_w = minw; + if (!((amin > 0.0) && (amax > 0.0) && (apref == EDJE_ASPECT_PREFER_NONE))) + { + if ((maxw >= 0) && (new_w > maxw)) new_w = maxw; + if (new_w < minw) new_w = minw; + + if ((maxh >= 0) && (new_h > maxh)) new_h = maxh; + if (new_h < minh) new_h = minh; + } - if ((maxh >= 0) && (new_h > maxh)) new_h = maxh; - if (new_h < minh) new_h = minh; - /* do real adjustment */ if (apref == EDJE_ASPECT_PREFER_BOTH) { @@ -439,7 +452,12 @@ } else { - if ((params->h - new_h) > (params->w - new_w)) + if ((amin > 0.0) && (amax > 0.0) && (apref == EDJE_ASPECT_PREFER_NONE)) + { + params->w = new_w; + params->h = new_h; + } + else if ((params->h - new_h) > (params->w - new_w)) { if (params->h < new_h) params->h = new_h; ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs