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

Reply via email to