Browse Source

Bugzilla #49695: Replaced magic numbers with constants from UnitConv and GraphicsConstants

Patch submitted by Joshua Marquart (joshua dot marquart _at. firstdata .dot_ com), applied with some modifications


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1038291 13f79535-47bb-0310-9956-ffa450edef68
pull/21/head
Vincent Hennebert 13 years ago
parent
commit
ba5eacf25c

+ 2
- 1
src/java/org/apache/fop/apps/FOUserAgent.java View File

@@ -35,6 +35,7 @@ import org.apache.commons.logging.LogFactory;
import org.apache.xmlgraphics.image.loader.ImageContext;
import org.apache.xmlgraphics.image.loader.ImageSessionContext;
import org.apache.xmlgraphics.image.loader.impl.AbstractImageSessionContext;
import org.apache.xmlgraphics.util.UnitConv;

import org.apache.fop.Version;
import org.apache.fop.accessibility.Accessibility;
@@ -450,7 +451,7 @@ public class FOUserAgent {
* @see #getTargetResolution()
*/
public float getTargetPixelUnitToMillimeter() {
return 25.4f / this.targetResolution;
return UnitConv.IN2MM / this.targetResolution;
}

/** @return the resolution for resolution-dependant output */

+ 3
- 2
src/java/org/apache/fop/apps/FopFactory.java View File

@@ -42,6 +42,7 @@ import org.apache.commons.logging.LogFactory;

import org.apache.xmlgraphics.image.loader.ImageContext;
import org.apache.xmlgraphics.image.loader.ImageManager;
import org.apache.xmlgraphics.util.UnitConv;

import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.ElementMappingRegistry;
@@ -539,7 +540,7 @@ public class FopFactory implements ImageContext {
* @see #getSourceResolution()
*/
public float getSourcePixelUnitToMillimeter() {
return 25.4f / getSourceResolution();
return UnitConv.IN2MM / getSourceResolution();
}

/**
@@ -567,7 +568,7 @@ public class FopFactory implements ImageContext {
* @see #getTargetResolution()
*/
public float getTargetPixelUnitToMillimeter() {
return 25.4f / this.targetResolution;
return UnitConv.IN2MM / this.targetResolution;
}

/**

+ 6
- 5
src/java/org/apache/fop/apps/FopFactoryConfigurator.java View File

@@ -33,6 +33,7 @@ import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry;
import org.apache.xmlgraphics.image.loader.util.Penalty;

@@ -61,10 +62,10 @@ public class FopFactoryConfigurator {
public static final String DEFAULT_PAGE_HEIGHT = "11in";

/** Defines the default source resolution (72dpi) for FOP */
public static final float DEFAULT_SOURCE_RESOLUTION = 72.0f; //dpi
public static final float DEFAULT_SOURCE_RESOLUTION = GraphicsConstants.DEFAULT_DPI; //dpi

/** Defines the default target resolution (72dpi) for FOP */
public static final float DEFAULT_TARGET_RESOLUTION = 72.0f; //dpi
public static final float DEFAULT_TARGET_RESOLUTION = GraphicsConstants.DEFAULT_DPI; //dpi

private static final String PREFER_RENDERER = "prefer-renderer";

@@ -159,7 +160,7 @@ public class FopFactoryConfigurator {

lang = hyphPatConfig[i].getAttribute("lang", null);
if (lang == null) {
addError("The lang attribute of a hyphenation-pattern configuration"
addError("The lang attribute of a hyphenation-pattern configuration"
+ " element must exist (" + location + ")", error);
} else if (!lang.matches("[a-zA-Z]{2}")) {
addError("The lang attribute of a hyphenation-pattern configuration"
@@ -191,7 +192,7 @@ public class FopFactoryConfigurator {
LogUtil.handleError(log, error.toString(), strict);
continue;
}
String llccKey = HyphenationTreeCache.constructLlccKey(lang, country);
hyphPatNames.put(llccKey, filename);
if (log.isDebugEnabled()) {
@@ -270,7 +271,7 @@ public class FopFactoryConfigurator {
}
error.append(message);
}
private void configureImageLoading(Configuration parent, boolean strict) throws FOPException {
if (parent == null) {
return;

+ 2
- 1
src/java/org/apache/fop/image/loader/batik/ImageConverterSVG2G2D.java View File

@@ -33,6 +33,7 @@ import org.apache.batik.gvt.GraphicsNode;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.Image;
import org.apache.xmlgraphics.image.loader.ImageException;
import org.apache.xmlgraphics.image.loader.ImageFlavor;
@@ -72,7 +73,7 @@ public class ImageConverterSVG2G2D extends AbstractImageConverter {
}

//Prepare
float pxToMillimeter = UnitConv.IN2MM / 72; //default: 72dpi
float pxToMillimeter = UnitConv.IN2MM / GraphicsConstants.DEFAULT_DPI;
Number ptm = (Number)hints.get(ImageProcessingHints.SOURCE_RESOLUTION);
if (ptm != null) {
pxToMillimeter = (float)(UnitConv.IN2MM / ptm.doubleValue());

+ 6
- 4
src/java/org/apache/fop/render/awt/AWTRenderer.java View File

@@ -29,14 +29,16 @@ package org.apache.fop.render.awt;
// Java
import java.awt.Color;
import java.awt.Dimension;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.print.PageFormat;
import java.awt.print.Pageable;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.io.IOException;

import org.apache.xmlgraphics.util.UnitConv;

import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.FopFactoryConfigurator;
@@ -46,8 +48,8 @@ import org.apache.fop.area.PageViewport;
import org.apache.fop.render.awt.viewer.PreviewDialog;
import org.apache.fop.render.awt.viewer.Renderable;
import org.apache.fop.render.awt.viewer.StatusListener;
import org.apache.fop.render.java2d.Java2DRenderer;
import org.apache.fop.render.extensions.prepress.PageScale;
import org.apache.fop.render.java2d.Java2DRenderer;

/**
* The AWTRender outputs the pages generated by the layout engine to a Swing
@@ -152,10 +154,10 @@ public class AWTRenderer extends Java2DRenderer implements Pageable {
pageWidth = (int) Math.round(bounds.getWidth() / 1000f);
pageHeight = (int) Math.round(bounds.getHeight() / 1000f);
double scaleX = scaleFactor
* (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter();
double scaleY = scaleFactor
* (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter();
if (getPageViewport(pageNum).getForeignAttributes() != null) {
String scale = (String) getPageViewport(pageNum).getForeignAttributes().get(

+ 2
- 1
src/java/org/apache/fop/render/java2d/Java2DImageHandlerRenderedImage.java View File

@@ -27,6 +27,7 @@ import java.awt.image.RenderedImage;
import java.awt.image.WritableRaster;
import java.io.IOException;

import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.Image;
import org.apache.xmlgraphics.image.loader.ImageFlavor;
import org.apache.xmlgraphics.image.loader.ImageInfo;
@@ -76,7 +77,7 @@ public class Java2DImageHandlerRenderedImage implements ImageHandler {
//scaling because of image resolution
//float sourceResolution = java2dContext.getUserAgent().getSourceResolution();
//source resolution seems to be a bad idea, not sure why
float sourceResolution = 72;
float sourceResolution = GraphicsConstants.DEFAULT_DPI;
sourceResolution *= 1000; //we're working in the millipoint area
sx *= sourceResolution / info.getSize().getDpiHorizontal();
sy *= sourceResolution / info.getSize().getDpiVertical();

+ 3
- 2
src/java/org/apache/fop/render/java2d/Java2DRenderer.java View File

@@ -53,6 +53,7 @@ import org.apache.xmlgraphics.image.loader.impl.ImageGraphics2D;
import org.apache.xmlgraphics.image.loader.impl.ImageRendered;
import org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM;
import org.apache.xmlgraphics.image.loader.util.ImageUtil;
import org.apache.xmlgraphics.util.UnitConv;

import org.apache.fop.ResourceEventProducer;
import org.apache.fop.apps.FOPException;
@@ -317,10 +318,10 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem
}

scaleX = scaleX
* (25.4f / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter();
scaleY = scaleY
* (25.4f / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter();
int bitmapWidth = (int) ((pageWidth * scaleX) + 0.5);
int bitmapHeight = (int) ((pageHeight * scaleY) + 0.5);

+ 3
- 2
src/java/org/apache/fop/render/rtf/FoUnitsConverter.java View File

@@ -24,6 +24,7 @@ import java.util.Map;

import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.properties.FixedLength;
import org.apache.xmlgraphics.util.UnitConv;


/** Converts XSL-FO units to RTF units
@@ -43,8 +44,8 @@ final class FoUnitsConverter {
public static final float POINT_TO_TWIPS = 20f;

/** millimeters and centimeters to twips: , one point is 1/72 of an inch, one inch is 25.4 mm */
public static final float IN_TO_TWIPS = 72f * POINT_TO_TWIPS;
public static final float MM_TO_TWIPS = IN_TO_TWIPS / 25.4f;
public static final float IN_TO_TWIPS = UnitConv.IN2PT * POINT_TO_TWIPS;
public static final float MM_TO_TWIPS = IN_TO_TWIPS / UnitConv.IN2MM;
public static final float CM_TO_TWIPS = 10 * MM_TO_TWIPS;



+ 5
- 4
src/java/org/apache/fop/svg/AbstractFOPTranscoder.java View File

@@ -26,7 +26,6 @@ import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.DOMImplementation;

import org.xml.sax.EntityResolver;

import org.apache.avalon.framework.configuration.Configurable;
@@ -48,10 +47,12 @@ import org.apache.batik.util.SVGConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.SimpleLog;

import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.ImageContext;
import org.apache.xmlgraphics.image.loader.ImageManager;
import org.apache.xmlgraphics.image.loader.ImageSessionContext;
import org.apache.xmlgraphics.image.loader.impl.AbstractImageSessionContext;
import org.apache.xmlgraphics.util.UnitConv;

/**
* This is the common base class of all of FOP's transcoders.
@@ -226,7 +227,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder implem
if (hints.containsKey(KEY_DEVICE_RESOLUTION)) {
return ((Float)hints.get(KEY_DEVICE_RESOLUTION)).floatValue();
} else {
return 72;
return GraphicsConstants.DEFAULT_DPI;
}
}

@@ -253,7 +254,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder implem
protected void setupImageInfrastructure(final String baseURI) {
final ImageContext imageContext = new ImageContext() {
public float getSourceResolution() {
return 25.4f / userAgent.getPixelUnitToMillimeter();
return UnitConv.IN2MM / userAgent.getPixelUnitToMillimeter();
}
};
this.imageManager = new ImageManager(imageContext);
@@ -372,7 +373,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder implem
return ((Float)getTranscodingHints().get(key)).floatValue();
} else {
// return 0.3528f; // 72 dpi
return 25.4f / 96; //96dpi = 0.2645833333333333333f;
return UnitConv.IN2MM / 96; //96dpi = 0.2645833333333333333f;
}
}


+ 3
- 1
src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java View File

@@ -30,6 +30,8 @@ import java.io.IOException;
import java.io.OutputStream;
import java.io.StringWriter;

import org.apache.xmlgraphics.image.GraphicsConstants;

import org.apache.fop.Version;
import org.apache.fop.fonts.FontInfo;
import org.apache.fop.fonts.FontSetup;
@@ -64,7 +66,7 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D {
/** Normal PDF resolution (72dpi) */
public static final int NORMAL_PDF_RESOLUTION = 72;
/** Default device resolution (300dpi is a resonable quality for most purposes) */
public static final int DEFAULT_NATIVE_DPI = 300;
public static final int DEFAULT_NATIVE_DPI = GraphicsConstants.DEFAULT_SAMPLE_DPI;

/**
* The device resolution may be different from the normal target resolution. See

+ 3
- 1
src/java/org/apache/fop/svg/PDFGraphics2D.java View File

@@ -60,6 +60,7 @@ import org.apache.batik.ext.awt.RenderingHintsKeyExt;
import org.apache.batik.gvt.GraphicsNode;
import org.apache.batik.gvt.PatternPaint;

import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.ImageInfo;
import org.apache.xmlgraphics.image.loader.ImageSize;
import org.apache.xmlgraphics.image.loader.impl.ImageRawCCITTFax;
@@ -1270,7 +1271,8 @@ public class PDFGraphics2D extends AbstractGraphics2D implements NativeImageHand

private PDFXObject addRenderedImage(String key, RenderedImage img) {
ImageInfo info = new ImageInfo(null, "image/unknown");
ImageSize size = new ImageSize(img.getWidth(), img.getHeight(), 72);
ImageSize size = new ImageSize(img.getWidth(), img.getHeight(),
GraphicsConstants.DEFAULT_DPI);
info.setSize(size);
ImageRendered imgRend = new ImageRendered(info, img, null);
ImageRenderedAdapter adapter = new ImageRenderedAdapter(imgRend, key);

+ 3
- 0
status.xml View File

@@ -58,6 +58,9 @@
documents. Example: the fix of marks layering will be such a case when it's done.
-->
<release version="FOP Trunk" date="TBD">
<action context="Code" dev="VH" type="fix" fixes-bug="49695" due-to="Joshua Marquart">
Replaced magic numbers with constants from UnitConv and GraphicsConstants.
</action>
<action context="Renderers" dev="JM" type="add" fixes-bug="42600" due-to="Maximilian Aster">
Added some support for break-before/-after for RTF output.
</action>

Loading…
Cancel
Save