From 63ca443649094a14a286cf6924ca211bc1b5753c Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 5 Feb 2009 18:12:33 +0000 Subject: Add full size image display. Changes the core menu now checks that the user has authotization before displaying the view fullsize icon. It probably needs a better icon, (but u make do with what u have or don't have :-) ) --- core/js/fullsize.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 core/js/fullsize.js (limited to 'core/js/fullsize.js') diff --git a/core/js/fullsize.js b/core/js/fullsize.js new file mode 100644 index 00000000..91e43529 --- /dev/null +++ b/core/js/fullsize.js @@ -0,0 +1,57 @@ +$(document).ready(function() { + $("#gFullsizeLink").click(function() { + var width = $(document).width(); + var height = $(document).height(); + + $("body").append('
'); + + var image_size = _auto_fit(fullsize_detail.width, fullsize_detail.height); + + $("body").append("
" + + "
"); + $("#gFullsizeClose").click(function() { + $("#gFullsizeOverlay*").remove(); + $("#gFullsize").remove(); + }); + }); +}); + +/* + * Calculate the size of the image panel based on the size of the image and the size of the + * window. Scale the image so the entire panel fits in the view port. + */ +function _auto_fit(imageWidth, imageHeight) { + // ui-dialog gives a padding of 2 pixels + var windowWidth = $(window).width() - 10; + var windowHeight = $(window).height() - 10; + + /* If the width is greater then scale the image width first */ + if (imageWidth > windowWidth) { + var ratio = windowWidth / imageWidth; + imageWidth *= ratio; + imageHeight *= ratio; + } + /* after scaling the width, check that the height fits */ + if (imageHeight > windowHeight) { + var ratio = windowHeight / imageHeight; + imageWidth *= ratio; + imageHeight *= ratio; + } + + return {top: (windowHeight - imageHeight) / 2, left: (windowWidth - imageWidth) / 2, + width: imageWidth, height: imageHeight}; +} -- cgit v1.2.3