summaryrefslogtreecommitdiff
path: root/lib/gallery.common.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gallery.common.js')
-rw-r--r--lib/gallery.common.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gallery.common.js b/lib/gallery.common.js
index 06775d79..844e219b 100644
--- a/lib/gallery.common.js
+++ b/lib/gallery.common.js
@@ -125,5 +125,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);