From: Steinar H. Gunderson Date: Tue, 20 Oct 2015 19:49:11 +0000 (+0200) Subject: Handle non-integral device pixel ratios. X-Git-Url: https://git.sesse.net/?p=pr0n;a=commitdiff_plain;h=bf395f582ddf4acd911cdeecca86b24fbc0e833f Handle non-integral device pixel ratios. --- diff --git a/files/pr0n-fullscreen.js b/files/pr0n-fullscreen.js index 79c174b..789cda7 100644 --- a/files/pr0n-fullscreen.js +++ b/files/pr0n-fullscreen.js @@ -174,7 +174,7 @@ function display_image(width, height, evt, filename, element_id) if (dpr == 1) { url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "/box/" + filename; } else { - url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "@" + dpr + "/box/" + filename; + url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "@" + dpr.toFixed(2) + "/box/" + filename; } var boximg = replace_image_element(url, element_id + "_box", main); diff --git a/perl/Sesse/pr0n/Image.pm b/perl/Sesse/pr0n/Image.pm index f4262e3..372a9b1 100644 --- a/perl/Sesse/pr0n/Image.pm +++ b/perl/Sesse/pr0n/Image.pm @@ -21,7 +21,7 @@ sub handler { $filename = $3; $infobox = 'nobox' if (defined($2) && $2 eq 'nobox/'); $infobox = 'box' if (defined($2) && $2 eq 'box/'); - } elsif ($r->uri =~ m#^/([a-zA-Z0-9-]+)/(\d+)x(\d+)(?:\@(\d+))?/((?:no)?box/)?([a-zA-Z0-9._()-]+)$#) { + } elsif ($r->uri =~ m#^/([a-zA-Z0-9-]+)/(\d+)x(\d+)(?:\@(\d+(?:\.\d+)?))?/((?:no)?box/)?([a-zA-Z0-9._()-]+)$#) { $event = $1; $filename = $6; $xres = $2; diff --git a/perl/Sesse/pr0n/pr0n.pm b/perl/Sesse/pr0n/pr0n.pm index 74d34f3..9391398 100644 --- a/perl/Sesse/pr0n/pr0n.pm +++ b/perl/Sesse/pr0n/pr0n.pm @@ -66,7 +66,7 @@ sub handler { $uri =~ /^\/\+all\/?$/ || $uri =~ /^\/\+tags\/[a-zA-Z0-9-]+\/?$/) { return Sesse::pr0n::Index::handler($r); - } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+(\@\d+)?/|original/)((?:no)?box/)?[a-zA-Z0-9._()-]+$#) { + } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+(\@\d+(\.\d+)?)?/|original/)((?:no)?box/)?[a-zA-Z0-9._()-]+$#) { return Sesse::pr0n::Image::handler($r); }