http://www.mediawiki.org/wiki/Special:Code/MediaWiki/93749

Revision: 93749
Author:   brion
Date:     2011-08-02 14:17:19 +0000 (Tue, 02 Aug 2011)
Log Message:
-----------
MFT r93746 -- change $wgSVGMaxSize handling to be nicer to images that are very 
wide but not very tall; apply the limit to the shorter side.

Modified Paths:
--------------
    branches/REL1_17/phase3/RELEASE-NOTES
    branches/REL1_17/phase3/includes/media/SVG.php

Modified: branches/REL1_17/phase3/RELEASE-NOTES
===================================================================
--- branches/REL1_17/phase3/RELEASE-NOTES       2011-08-02 14:17:00 UTC (rev 
93748)
+++ branches/REL1_17/phase3/RELEASE-NOTES       2011-08-02 14:17:19 UTC (rev 
93749)
@@ -50,6 +50,8 @@
   title is given, instead of a URL.
 * (bug 19514) Unordered list list-style-image should be IE6-compatible (8-bit).
 * Installer checked for magic_quotes_runtime instead of register_globals.
+* $wgSVGMaxSize is now applied to the smaller of width or height, making very
+  wide pano/timeline/diagram SVGs renderable at saner sizes
 
 === Changes since 1.17.0rc1 ===
 

Modified: branches/REL1_17/phase3/includes/media/SVG.php
===================================================================
--- branches/REL1_17/phase3/includes/media/SVG.php      2011-08-02 14:17:00 UTC 
(rev 93748)
+++ branches/REL1_17/phase3/includes/media/SVG.php      2011-08-02 14:17:19 UTC 
(rev 93749)
@@ -49,14 +49,23 @@
                if ( !parent::normaliseParams( $image, $params ) ) {
                        return false;
                }
-               # Don't make an image bigger than wgMaxSVGSize
+               # Don't make an image bigger than wgMaxSVGSize on the smaller 
side
                $params['physicalWidth'] = $params['width'];
                $params['physicalHeight'] = $params['height'];
-               if ( $params['physicalWidth'] > $wgSVGMaxSize ) {
-                       $srcWidth = $image->getWidth( $params['page'] );
-                       $srcHeight = $image->getHeight( $params['page'] );
-                       $params['physicalWidth'] = $wgSVGMaxSize;
-                       $params['physicalHeight'] = File::scaleHeight( 
$srcWidth, $srcHeight, $wgSVGMaxSize );
+               if ( $params['physicalWidth'] <= $params['physicalHeight'] ) {
+                       if ( $params['physicalWidth'] > $wgSVGMaxSize ) {
+                               $srcWidth = $image->getWidth( $params['page'] );
+                               $srcHeight = $image->getHeight( $params['page'] 
);
+                               $params['physicalWidth'] = $wgSVGMaxSize;
+                               $params['physicalHeight'] = File::scaleHeight( 
$srcWidth, $srcHeight, $wgSVGMaxSize );
+                       }
+               } else {
+                       if ( $params['physicalHeight'] > $wgSVGMaxSize ) {
+                               $srcWidth = $image->getWidth( $params['page'] );
+                               $srcHeight = $image->getHeight( $params['page'] 
);
+                               $params['physicalWidth'] = File::scaleHeight( 
$srcHeight, $srcWidth, $wgSVGMaxSize );
+                               $params['physicalHeight'] = $wgSVGMaxSize;
+                       }
                }
                return true;
        }


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to