diff options
author | Chad Kieffer <ckieffer@gmail.com> | 2009-08-23 15:00:00 -0600 |
---|---|---|
committer | Chad Kieffer <ckieffer@gmail.com> | 2009-08-23 15:00:00 -0600 |
commit | 2264a80368be16b8ab898eec9234cd6ce9fe7652 (patch) | |
tree | 55d70e507a0877c9bfa5047e62f08a23bf97193d /lib/gallery.common.js | |
parent | 457708311a466d8b116d5b28575be1bc3baad864 (diff) | |
parent | 256822a1e8d387ef9cc29e354a36099dbab17992 (diff) |
Merge branch 'master' of git@github.com:gallery/gallery3
Diffstat (limited to 'lib/gallery.common.js')
-rw-r--r-- | lib/gallery.common.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gallery.common.js b/lib/gallery.common.js index 16cb7ea2..a959d90d 100644 --- a/lib/gallery.common.js +++ b/lib/gallery.common.js @@ -129,5 +129,30 @@ ); }; + $.gallery_auto_fit_window = function(imageWidth, imageHeight) { + var size = $.gallery_get_viewport_size(); + var width = size.width() - 6, + height = size.height() - 6; + + var ratio = width / imageWidth; + imageWidth *= ratio; + imageHeight *= ratio; + + /* after scaling the width, check that the height fits */ + if (imageHeight > height) { + ratio = height / imageHeight; + imageWidth *= ratio; + imageHeight *= ratio; + } + + // handle the case where the calculation is almost zero (2.14e-14) + return { + top: Number((height - imageHeight) / 2), + left: Number((width - imageWidth) / 2), + width: Number(imageWidth), + height: Number(imageHeight) + }; + }; + })(jQuery); |