]> git.mxchange.org Git - simgear.git/commitdiff
CSSBorder fix: width/height swapped
authorThomas Geymayer <tomgey@gmail.com>
Sat, 6 Jul 2013 10:05:19 +0000 (12:05 +0200)
committerThomas Geymayer <tomgey@gmail.com>
Sat, 6 Jul 2013 10:05:19 +0000 (12:05 +0200)
simgear/misc/CSSBorder.cxx
simgear/misc/CSSBorder_test.cxx

index cc3ffc9aa520c68f261b3e389457449db4479150..e15828d6fb186e8549c47262ecfb9fc0b5352dab 100644 (file)
@@ -58,7 +58,7 @@ namespace simgear
     {
       ret.val[i] = offsets.val[i];
       if( !types.rel[i] )
-        ret.val[i] /= (i & 1) ? dim.height() : dim.width();
+        ret.val[i] /= (i & 1) ? dim.width() : dim.height();
     }
 
     return ret;
@@ -75,7 +75,7 @@ namespace simgear
     {
       ret.val[i] = offsets.val[i];
       if( types.rel[i] )
-        ret.val[i] *= (i & 1) ? dim.height() : dim.width();
+        ret.val[i] *= (i & 1) ? dim.width() : dim.height();
     }
 
     return ret;
index 5f7545045b5aa3105c8a367d599d77dbe003bae8..bfb0cb79774a003b3c53367600ee5f038fa737af 100644 (file)
@@ -55,14 +55,21 @@ int main (int ac, char ** av)
   COMPARE(o.b, 15);
   COMPARE(o.l, 20);
 
+  b = CSSBorder::parse("5 10 15 20");
+  o = b.getRelOffsets(SGRect<int>(0,0,100,200));
+  COMPARE(o.t, 0.025);
+  COMPARE(o.r, 0.1);
+  COMPARE(o.b, 0.075);
+  COMPARE(o.l, 0.2);
+
   b = CSSBorder::parse("5% 10% 15% 20%");
-  o = b.getAbsOffsets(SGRect<int>(0,0,200,200));
+  o = b.getAbsOffsets(SGRect<int>(0,0,100,200));
   COMPARE(o.t, 10);
-  COMPARE(o.r, 20);
+  COMPARE(o.r, 10);
   COMPARE(o.b, 30);
-  COMPARE(o.l, 40);
+  COMPARE(o.l, 20);
 
-  o = b.getRelOffsets(SGRect<int>(0,0,200,200));
+  o = b.getRelOffsets(SGRect<int>(0,0,100,200));
   COMPARE(o.t, 0.05);
   COMPARE(o.r, 0.1);
   COMPARE(o.b, 0.15);