Hi, I'll look into creating an AT test and / or junit test next week for this. I'll update the existing jira issue if that's possible, but if not then I'll create a new one.
Regards, Robert > Date: Fri, 4 Jan 2013 16:43:12 +0000 > From: bowditch_ch...@hotmail.com > To: fop-dev@xmlgraphics.apache.org > Subject: Re: svn commit: r1428918 - in /xmlgraphics/fop/trunk: > src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java status.xml > > Hi Glenn, > > Rob didn't submit one, but since the change affects layout that is a > reasonable request. > > Thanks, > > Chris > > On 04/01/2013 16:25, Glenn Adams wrote: > > are there any new tests to go along with this? > > > > On Fri, Jan 4, 2013 at 9:11 AM, <cbowdi...@apache.org > > <mailto:cbowdi...@apache.org>> wrote: > > > > Author: cbowditch > > Date: Fri Jan 4 15:11:52 2013 > > New Revision: 1428918 > > > > URL: http://svn.apache.org/viewvc?rev=1428918&view=rev > > Log: > > Jira FOP-2174: When using SVG drawings, if no content-width and > > content-height is specified, 72 will be used instead of the > > source-resolution option > > Patch submitted by Robert Meyer (rmeyer at hotmail dot co dot uk) > > > > Modified: > > > > xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java > > xmlgraphics/fop/trunk/status.xml > > > > Modified: > > > > xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java > > URL: > > > > http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java?rev=1428918&r1=1428917&r2=1428918&view=diff > > > > ============================================================================== > > --- > > > > xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java > > (original) > > +++ > > > > xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java > > Fri Jan 4 15:11:52 2013 > > @@ -25,10 +25,14 @@ import java.awt.Rectangle; > > import org.apache.commons.logging.Log; > > import org.apache.commons.logging.LogFactory; > > > > +import org.apache.xmlgraphics.util.UnitConv; > > + > > import org.apache.fop.datatypes.Length; > > import org.apache.fop.datatypes.PercentBaseContext; > > import org.apache.fop.fo.Constants; > > import org.apache.fop.fo.GraphicsProperties; > > +import org.apache.fop.fo.expr.PropertyException; > > +import org.apache.fop.fo.flow.AbstractGraphics; > > import org.apache.fop.fo.properties.LengthRangeProperty; > > > > /** > > @@ -98,9 +102,9 @@ public class ImageLayout implements Cons > > boolean constrainIntrinsicSize = false; > > int cwidth = -1; > > int cheight = -1; > > - len = props.getContentWidth(); > > - if (len.getEnum() != EN_AUTO) { > > - switch (len.getEnum()) { > > + Length lenWidth = props.getContentWidth(); > > + if (lenWidth.getEnum() != EN_AUTO) { > > + switch (lenWidth.getEnum()) { > > case EN_SCALE_TO_FIT: > > if (ipd != -1) { > > cwidth = ipd; > > @@ -120,12 +124,12 @@ public class ImageLayout implements Cons > > constrainIntrinsicSize = true; > > break; > > default: > > - cwidth = len.getValue(percentBaseContext); > > + cwidth = lenWidth.getValue(percentBaseContext); > > } > > } > > - len = props.getContentHeight(); > > - if (len.getEnum() != EN_AUTO) { > > - switch (len.getEnum()) { > > + Length lenHeight = props.getContentHeight(); > > + if (lenHeight.getEnum() != EN_AUTO) { > > + switch (lenHeight.getEnum()) { > > case EN_SCALE_TO_FIT: > > if (bpd != -1) { > > cheight = bpd; > > @@ -145,10 +149,21 @@ public class ImageLayout implements Cons > > constrainIntrinsicSize = true; > > break; > > default: > > - cheight = len.getValue(percentBaseContext); > > + cheight = lenHeight.getValue(percentBaseContext); > > } > > } > > > > + //If no content-width or height is specified, adjust > > dimensions based upon the source resolution > > + int sourceResolution = 72; > > + if (props instanceof AbstractGraphics) { > > + sourceResolution = (int) > > ((AbstractGraphics)props).getUserAgent().getSourceResolution(); > > + } > > + boolean foundNonAuto = (lenWidth.getEnum() != EN_AUTO || > > lenHeight.getEnum() != EN_AUTO); > > + if (!foundNonAuto) { > > + cwidth = intrinsicSize.width / (sourceResolution / > > UnitConv.IN2PT); > > + cheight = intrinsicSize.height / (sourceResolution / > > UnitConv.IN2PT); > > + } > > + > > Dimension constrainedIntrinsicSize; > > if (constrainIntrinsicSize) { > > constrainedIntrinsicSize = constrain(intrinsicSize); > > @@ -164,11 +179,13 @@ public class ImageLayout implements Cons > > //Adjust viewport if not explicit > > if (ipd == -1) { > > ipd = constrainExtent(cwidth, > > - props.getInlineProgressionDimension(), > > props.getContentWidth()); > > + props.getInlineProgressionDimension(), > > (foundNonAuto) > > + ? props.getContentWidth() : new DefaultLength()); > > } > > if (bpd == -1) { > > bpd = constrainExtent(cheight, > > - props.getBlockProgressionDimension(), > > props.getContentHeight()); > > + props.getBlockProgressionDimension(), > > (foundNonAuto) > > + ? props.getContentHeight() : new > > DefaultLength()); > > } > > > > this.clip = false; > > @@ -191,6 +208,36 @@ public class ImageLayout implements Cons > > this.placement = new Rectangle(xoffset, yoffset, cwidth, > > cheight); > > } > > > > + private static class DefaultLength implements Length { > > + public double getNumericValue() throws PropertyException { > > + return 0; > > + } > > + > > + public double getNumericValue(PercentBaseContext context) > > throws PropertyException { > > + return 0; > > + } > > + > > + public int getDimension() { > > + return 0; > > + } > > + > > + public boolean isAbsolute() { > > + return false; > > + } > > + > > + public int getEnum() { > > + return 0; > > + } > > + > > + public int getValue() { > > + return 0; > > + } > > + > > + public int getValue(PercentBaseContext context) { > > + return 0; > > + } > > + } > > + > > private int constrainExtent(int extent, LengthRangeProperty > > range, Length contextExtent) { > > boolean mayScaleUp = (contextExtent.getEnum() != > > EN_SCALE_DOWN_TO_FIT); > > boolean mayScaleDown = (contextExtent.getEnum() != > > EN_SCALE_UP_TO_FIT); > > > > Modified: xmlgraphics/fop/trunk/status.xml > > URL: > > > > http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1428918&r1=1428917&r2=1428918&view=diff > > > > ============================================================================== > > --- xmlgraphics/fop/trunk/status.xml (original) > > +++ xmlgraphics/fop/trunk/status.xml Fri Jan 4 15:11:52 2013 > > @@ -59,6 +59,10 @@ > > documents. Example: the fix of marks layering will be such > > a case when it's done. > > --> > > <release version="FOP Trunk" date="TBD"> > > + <action context="Layout" dev="CB" type="fix" > > fixes-bug="FOP-2174" due-to="Robert Meyer"> > > + When using SVG drawings, if no content-width and > > content-height is specified, 72 will > > + be used instead of the source-resolution option. > > + </action> > > <action context="Code" dev="GA" type="fix" > > fixes-bug="FOP-2179" due-to="Robert Meyer"> > > Fix checkstyle and findbugs warnings. > > </action> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > > fop-commits-unsubscr...@xmlgraphics.apache.org > > <mailto:fop-commits-unsubscr...@xmlgraphics.apache.org> > > For additional commands, e-mail: > > fop-commits-h...@xmlgraphics.apache.org > > <mailto:fop-commits-h...@xmlgraphics.apache.org> > > > > >