diff --git a/src/org/forkalsrud/album/exif/Dimension.java b/src/org/forkalsrud/album/exif/Dimension.java index e4d52f0..276569d 100644 --- a/src/org/forkalsrud/album/exif/Dimension.java +++ b/src/org/forkalsrud/album/exif/Dimension.java @@ -30,25 +30,16 @@ public class Dimension { public Dimension scaled(int max) { - int sw, sh; - if (w > h) { - if (w > max) { - sw = max; - sh = (max * h + max / 2) / w; - } else { - sw = w; - sh = h; - } - } else { - if (h > max) { - sw = (max * w + max / 2) / h; - sh = max; - } else { - sw = w; - sh = h; - } - } - return new Dimension(sw, sh); + return w > h ? scaleWidth(max) : scaleHeight(max); + } + + + public Dimension scaleWidth(int maxWidth) { + return new Dimension(maxWidth, (maxWidth * h + maxWidth / 2) / w); + } + + public Dimension scaleHeight(int maxHeight) { + return new Dimension((maxHeight * w + maxHeight / 2) / h, maxHeight); } diff --git a/src/org/forkalsrud/album/exif/Entry.java b/src/org/forkalsrud/album/exif/Entry.java index 2745aa8..4b774ae 100644 --- a/src/org/forkalsrud/album/exif/Entry.java +++ b/src/org/forkalsrud/album/exif/Entry.java @@ -43,7 +43,7 @@ public class Entry { * @return Returns the size. */ public Dimension getSize() { - return size; + return getOrientation() == 6 ? size.flip() : size; } diff --git a/webapp/WEB-INF/velocity/directory.vm b/webapp/WEB-INF/velocity/directory.vm index b891a70..59e76ff 100644 --- a/webapp/WEB-INF/velocity/directory.vm +++ b/webapp/WEB-INF/velocity/directory.vm @@ -24,6 +24,12 @@ text-decoration: underline; color: #6a6a6a; } + div { + float: left; + } + img { + padding: 5px; + } @@ -32,12 +38,8 @@
#set($thmb = 150) #foreach($entry in $entries) -#if($entry.orientation == 6) -#set($dim = $entry.size.scaled($thmb).flip()) -#else #set($dim = $entry.size.scaled($thmb)) -#end -
+
$entry.name

$!entry.caption