[interchange] Allow image tag width and height attributes to override getsize
Jon Jensen <[email protected]>
| Newsgroups | gmane.comp.web.interchange.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit a8d76aa9a6d3f7e3b8293de1079a68bddb4445f6 Author: Jon Jensen <[email protected]> Date: Tue Jul 6 17:09:48 2010 -0600 Allow image tag width and height attributes to override getsize Normally the attributes would be mutually exclusive and shouldn't affect compatibility, since people typically use width and height only when they don't want getsize, or allowing default getsize when they don't know width and height. code/SystemTag/image.tag | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) --- diff --git a/code/SystemTag/image.tag b/code/SystemTag/image.tag index f9baf39..35c0bc7 100644 --- a/code/SystemTag/image.tag +++ b/code/SystemTag/image.tag @@ -1,11 +1,9 @@ -# Copyright 2002-2008 Interchange Development Group and others +# Copyright 2002-2010 Interchange Development Group and others # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. See the LICENSE file for details. -# -# $Id: image.tag,v 1.24 2008-06-22 02:53:11 jon Exp $ UserTag image Order src UserTag image AttrAlias geometry makesize @@ -63,7 +61,8 @@ sub { return $imagedircurrent if $opt->{dir_only}; - $opt->{getsize} = 1 unless defined $opt->{getsize}; + $opt->{getsize} = 1 unless defined $opt->{getsize} + or (defined($opt->{height}) and defined($opt->{width})); $opt->{imagesubdir} ||= $::Scratch->{mv_imagesubdir} if defined $::Scratch->{mv_imagesubdir}; $opt->{default} ||= $::Scratch->{mv_imagedefault} @@ -240,8 +239,10 @@ sub { eval { require Image::Size; my ($width, $height) = Image::Size::imgsize($path); - ($opt->{width}, $opt->{height}) = ($width, $height) - if $width and $height; + $opt->{height} = $height + if defined($height) and not exists($opt->{height}); + $opt->{width} = $width + if defined($width) and not exists($opt->{width}); if ($opt->{size_scratch_prefix}) { Vend::Interpolate::set_tmp($opt->{size_scratch_prefix} . '_' . $_, $opt->{$_}) for qw/width height/;