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

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


import org.apache.fop.Version; import org.apache.fop.Version;
import org.apache.fop.accessibility.Accessibility; import org.apache.fop.accessibility.Accessibility;
* @see #getTargetResolution() * @see #getTargetResolution()
*/ */
public float getTargetPixelUnitToMillimeter() { public float getTargetPixelUnitToMillimeter() {
return 25.4f / this.targetResolution;
return UnitConv.IN2MM / this.targetResolution;
} }


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

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



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


import org.apache.fop.fo.ElementMapping; import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.ElementMappingRegistry; import org.apache.fop.fo.ElementMappingRegistry;
* @see #getSourceResolution() * @see #getSourceResolution()
*/ */
public float getSourcePixelUnitToMillimeter() { public float getSourcePixelUnitToMillimeter() {
return 25.4f / getSourceResolution();
return UnitConv.IN2MM / getSourceResolution();
} }


/** /**
* @see #getTargetResolution() * @see #getTargetResolution()
*/ */
public float getTargetPixelUnitToMillimeter() { 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

import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; 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.spi.ImageImplRegistry;
import org.apache.xmlgraphics.image.loader.util.Penalty; import org.apache.xmlgraphics.image.loader.util.Penalty;


public static final String DEFAULT_PAGE_HEIGHT = "11in"; public static final String DEFAULT_PAGE_HEIGHT = "11in";


/** Defines the default source resolution (72dpi) for FOP */ /** 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 */ /** 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"; private static final String PREFER_RENDERER = "prefer-renderer";




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

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

import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; 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.Image;
import org.apache.xmlgraphics.image.loader.ImageException; import org.apache.xmlgraphics.image.loader.ImageException;
import org.apache.xmlgraphics.image.loader.ImageFlavor; import org.apache.xmlgraphics.image.loader.ImageFlavor;
} }


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

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

// Java // Java
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.print.PageFormat; import java.awt.print.PageFormat;
import java.awt.print.Pageable; import java.awt.print.Pageable;
import java.awt.print.Paper; import java.awt.print.Paper;
import java.awt.print.Printable; import java.awt.print.Printable;
import java.io.IOException; import java.io.IOException;


import org.apache.xmlgraphics.util.UnitConv;

import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.FopFactoryConfigurator; import org.apache.fop.apps.FopFactoryConfigurator;
import org.apache.fop.render.awt.viewer.PreviewDialog; import org.apache.fop.render.awt.viewer.PreviewDialog;
import org.apache.fop.render.awt.viewer.Renderable; import org.apache.fop.render.awt.viewer.Renderable;
import org.apache.fop.render.awt.viewer.StatusListener; 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.extensions.prepress.PageScale;
import org.apache.fop.render.java2d.Java2DRenderer;


/** /**
* The AWTRender outputs the pages generated by the layout engine to a Swing * The AWTRender outputs the pages generated by the layout engine to a Swing
pageWidth = (int) Math.round(bounds.getWidth() / 1000f); pageWidth = (int) Math.round(bounds.getWidth() / 1000f);
pageHeight = (int) Math.round(bounds.getHeight() / 1000f); pageHeight = (int) Math.round(bounds.getHeight() / 1000f);
double scaleX = scaleFactor double scaleX = scaleFactor
* (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter(); / userAgent.getTargetPixelUnitToMillimeter();
double scaleY = scaleFactor double scaleY = scaleFactor
* (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
* (UnitConv.IN2MM / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
/ userAgent.getTargetPixelUnitToMillimeter(); / userAgent.getTargetPixelUnitToMillimeter();
if (getPageViewport(pageNum).getForeignAttributes() != null) { if (getPageViewport(pageNum).getForeignAttributes() != null) {
String scale = (String) getPageViewport(pageNum).getForeignAttributes().get( String scale = (String) getPageViewport(pageNum).getForeignAttributes().get(

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

import java.awt.image.WritableRaster; import java.awt.image.WritableRaster;
import java.io.IOException; import java.io.IOException;


import org.apache.xmlgraphics.image.GraphicsConstants;
import org.apache.xmlgraphics.image.loader.Image; import org.apache.xmlgraphics.image.loader.Image;
import org.apache.xmlgraphics.image.loader.ImageFlavor; import org.apache.xmlgraphics.image.loader.ImageFlavor;
import org.apache.xmlgraphics.image.loader.ImageInfo; import org.apache.xmlgraphics.image.loader.ImageInfo;
//scaling because of image resolution //scaling because of image resolution
//float sourceResolution = java2dContext.getUserAgent().getSourceResolution(); //float sourceResolution = java2dContext.getUserAgent().getSourceResolution();
//source resolution seems to be a bad idea, not sure why //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 sourceResolution *= 1000; //we're working in the millipoint area
sx *= sourceResolution / info.getSize().getDpiHorizontal(); sx *= sourceResolution / info.getSize().getDpiHorizontal();
sy *= sourceResolution / info.getSize().getDpiVertical(); sy *= sourceResolution / info.getSize().getDpiVertical();

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

import org.apache.xmlgraphics.image.loader.impl.ImageRendered; import org.apache.xmlgraphics.image.loader.impl.ImageRendered;
import org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM; import org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM;
import org.apache.xmlgraphics.image.loader.util.ImageUtil; import org.apache.xmlgraphics.image.loader.util.ImageUtil;
import org.apache.xmlgraphics.util.UnitConv;


import org.apache.fop.ResourceEventProducer; import org.apache.fop.ResourceEventProducer;
import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOPException;
} }


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

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



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




/** Converts XSL-FO units to RTF units /** Converts XSL-FO units to RTF units
public static final float POINT_TO_TWIPS = 20f; 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 */ /** 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; public static final float CM_TO_TWIPS = 10 * MM_TO_TWIPS;





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

import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamSource;


import org.w3c.dom.DOMImplementation; import org.w3c.dom.DOMImplementation;

import org.xml.sax.EntityResolver; import org.xml.sax.EntityResolver;


import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configurable;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.SimpleLog; 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.ImageContext;
import org.apache.xmlgraphics.image.loader.ImageManager; import org.apache.xmlgraphics.image.loader.ImageManager;
import org.apache.xmlgraphics.image.loader.ImageSessionContext; import org.apache.xmlgraphics.image.loader.ImageSessionContext;
import org.apache.xmlgraphics.image.loader.impl.AbstractImageSessionContext; 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. * This is the common base class of all of FOP's transcoders.
if (hints.containsKey(KEY_DEVICE_RESOLUTION)) { if (hints.containsKey(KEY_DEVICE_RESOLUTION)) {
return ((Float)hints.get(KEY_DEVICE_RESOLUTION)).floatValue(); return ((Float)hints.get(KEY_DEVICE_RESOLUTION)).floatValue();
} else { } else {
return 72;
return GraphicsConstants.DEFAULT_DPI;
} }
} }


protected void setupImageInfrastructure(final String baseURI) { protected void setupImageInfrastructure(final String baseURI) {
final ImageContext imageContext = new ImageContext() { final ImageContext imageContext = new ImageContext() {
public float getSourceResolution() { public float getSourceResolution() {
return 25.4f / userAgent.getPixelUnitToMillimeter();
return UnitConv.IN2MM / userAgent.getPixelUnitToMillimeter();
} }
}; };
this.imageManager = new ImageManager(imageContext); this.imageManager = new ImageManager(imageContext);
return ((Float)getTranscodingHints().get(key)).floatValue(); return ((Float)getTranscodingHints().get(key)).floatValue();
} else { } else {
// return 0.3528f; // 72 dpi // 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

import java.io.OutputStream; import java.io.OutputStream;
import java.io.StringWriter; import java.io.StringWriter;


import org.apache.xmlgraphics.image.GraphicsConstants;

import org.apache.fop.Version; import org.apache.fop.Version;
import org.apache.fop.fonts.FontInfo; import org.apache.fop.fonts.FontInfo;
import org.apache.fop.fonts.FontSetup; import org.apache.fop.fonts.FontSetup;
/** Normal PDF resolution (72dpi) */ /** Normal PDF resolution (72dpi) */
public static final int NORMAL_PDF_RESOLUTION = 72; public static final int NORMAL_PDF_RESOLUTION = 72;
/** Default device resolution (300dpi is a resonable quality for most purposes) */ /** 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 * The device resolution may be different from the normal target resolution. See

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

import org.apache.batik.gvt.GraphicsNode; import org.apache.batik.gvt.GraphicsNode;
import org.apache.batik.gvt.PatternPaint; 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.ImageInfo;
import org.apache.xmlgraphics.image.loader.ImageSize; import org.apache.xmlgraphics.image.loader.ImageSize;
import org.apache.xmlgraphics.image.loader.impl.ImageRawCCITTFax; import org.apache.xmlgraphics.image.loader.impl.ImageRawCCITTFax;


private PDFXObject addRenderedImage(String key, RenderedImage img) { private PDFXObject addRenderedImage(String key, RenderedImage img) {
ImageInfo info = new ImageInfo(null, "image/unknown"); 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); info.setSize(size);
ImageRendered imgRend = new ImageRendered(info, img, null); ImageRendered imgRend = new ImageRendered(info, img, null);
ImageRenderedAdapter adapter = new ImageRenderedAdapter(imgRend, key); ImageRenderedAdapter adapter = new ImageRenderedAdapter(imgRend, key);

+ 3
- 0
status.xml View File

documents. Example: the fix of marks layering will be such a case when it's done. documents. Example: the fix of marks layering will be such a case when it's done.
--> -->
<release version="FOP Trunk" date="TBD"> <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"> <action context="Renderers" dev="JM" type="add" fixes-bug="42600" due-to="Maximilian Aster">
Added some support for break-before/-after for RTF output. Added some support for break-before/-after for RTF output.
</action> </action>

Loading…
Cancel
Save