[prev in list] [next in list] [prev in thread] [next in thread]
List: fop-cvs
Subject: svn commit: r1344594 [7/15] - in /xmlgraphics/fop/branches/Temp_URI_Unification: ./
From: mehdi () apache ! org
Date: 2012-05-31 8:33:50
Message-ID: 20120531083425.268272388C0E () eris ! apache ! org
[Download RAW message or body]
Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java?rev=1344594&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java \
(added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,172 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.render.bitmap;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+import java.util.EnumMap;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.render.RendererConfig;
+import org.apache.fop.render.java2d.Java2DRendererConfig;
+import org.apache.fop.render.java2d.Java2DRendererConfig.Java2DRendererConfigParser;
+import org.apache.fop.util.ColorUtil;
+
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.ANTI_ALIASING;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.BACKGROUND_COLOR;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.COLOR_MODE;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.JAVA2D_TRANSPARENT_PAGE_BACKGROUND;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY_ELEMENT;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_SPEED;
+
+public class BitmapRendererConfig implements RendererConfig {
+
+ private final EnumMap<BitmapRendererConfigOptions, Object> params
+ = new EnumMap<BitmapRendererConfigOptions, \
Object>(BitmapRendererConfigOptions.class); +
+ private final DefaultFontConfig fontConfig;
+
+ BitmapRendererConfig(DefaultFontConfig fontConfig) {
+ this.fontConfig = fontConfig;
+ }
+
+ public DefaultFontConfig getFontInfoConfig() {
+ return fontConfig;
+ }
+
+ public Color getBackgroundColor() {
+ return (Color) get(BACKGROUND_COLOR);
+ }
+
+ public Boolean hasAntiAliasing() {
+ return (Boolean) get(ANTI_ALIASING);
+ }
+
+ public Boolean isRenderHighQuality() {
+ return (Boolean) get(RENDERING_QUALITY);
+ }
+
+ public Integer getColorMode() {
+ return (Integer) get(COLOR_MODE);
+ }
+
+ public boolean hasTransparentBackround() {
+ Object result = get(JAVA2D_TRANSPARENT_PAGE_BACKGROUND);
+ return (Boolean) (result != null ? result
+ : JAVA2D_TRANSPARENT_PAGE_BACKGROUND.getDefaultValue());
+ }
+
+ private Object get(BitmapRendererConfigOptions option) {
+ return params.get(option);
+ }
+
+ public static class BitmapRendererConfigParser implements RendererConfigParser {
+
+ private final String mimeType;
+
+ public BitmapRendererConfigParser(String mimeType) {
+ this.mimeType = mimeType;
+ }
+
+ private void setParam(BitmapRendererConfig config, \
BitmapRendererConfigOptions option, + Object value) {
+ config.params.put(option, value != null ? value : \
option.getDefaultValue()); + }
+
+ protected void build(BitmapRendererConfig config, FOUserAgent userAgent,
+ Configuration cfg) throws FOPException {
+ if (cfg != null) {
+ Java2DRendererConfig j2dConfig = new \
Java2DRendererConfigParser(null).build( + userAgent, cfg);
+ Boolean isTransparent = j2dConfig.isPageBackgroundTransparent();
+ isTransparent = isTransparent == null
+ ? (Boolean) \
JAVA2D_TRANSPARENT_PAGE_BACKGROUND.getDefaultValue() + : \
isTransparent; + setParam(config, JAVA2D_TRANSPARENT_PAGE_BACKGROUND, \
isTransparent); +
+ String background = getValue(cfg, BACKGROUND_COLOR);
+ if (isTransparent) {
+ // We don't use setParam here because we want to force a null \
value + config.params.put(BACKGROUND_COLOR, null);
+ } else {
+ setParam(config, BACKGROUND_COLOR,
+ ColorUtil.parseColorString(userAgent, background));
+ }
+
+ setParam(config, BitmapRendererConfigOptions.ANTI_ALIASING,
+ getChild(cfg, ANTI_ALIASING).getValueAsBoolean(
+ (Boolean) ANTI_ALIASING.getDefaultValue()));
+
+ String optimization = getValue(cfg, RENDERING_QUALITY_ELEMENT);
+ setParam(config, RENDERING_QUALITY,
+ !(BitmapRendererConfigOptions.getValue(optimization) == \
RENDERING_SPEED)); +
+ String color = getValue(cfg, COLOR_MODE);
+ setParam(config, COLOR_MODE,
+ \
getBufferedImageIntegerFromColor(BitmapRendererConfigOptions.getValue(color))); + \
} + }
+
+ public BitmapRendererConfig build(FOUserAgent userAgent, Configuration cfg)
+ throws FOPException {
+ BitmapRendererConfig config = new BitmapRendererConfig(new \
DefaultFontConfigParser() + .parse(cfg, \
userAgent.validateStrictly())); + build(config, userAgent, cfg);
+ return config;
+ }
+
+ private Integer getBufferedImageIntegerFromColor(BitmapRendererConfigOptions \
option) { + if (option == null) {
+ return null;
+ }
+ switch (option) {
+ case COLOR_MODE_RGBA:
+ return BufferedImage.TYPE_INT_ARGB;
+ case COLOR_MODE_RGB:
+ return BufferedImage.TYPE_INT_RGB;
+ case COLOR_MODE_GRAY:
+ return BufferedImage.TYPE_BYTE_GRAY;
+ case COLOR_MODE_BINARY:
+ case COLOR_MODE_BILEVEL:
+ return BufferedImage.TYPE_BYTE_BINARY;
+ default:
+ return null;
+ }
+ }
+
+ private Configuration getChild(Configuration cfg, \
BitmapRendererConfigOptions option) { + return \
cfg.getChild(option.getName()); + }
+
+ private String getValue(Configuration cfg, BitmapRendererConfigOptions \
option) { + return cfg.getChild(option.getName()).getValue(null);
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+ }
+}
Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java?rev=1344594&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java \
(added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.render.bitmap;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+
+import org.apache.fop.render.RendererConfigOptions;
+
+public enum BitmapRendererConfigOptions implements RendererConfigOptions {
+ JAVA2D_TRANSPARENT_PAGE_BACKGROUND("transparent-page-background", false),
+ BACKGROUND_COLOR("background-color", Color.WHITE),
+ ANTI_ALIASING("anti-aliasing", true),
+ RENDERING_QUALITY_ELEMENT("rendering"),
+ RENDERING_QUALITY("quality", true),
+ RENDERING_SPEED("speed"),
+ COLOR_MODE("color-mode", BufferedImage.TYPE_INT_ARGB),
+ COLOR_MODE_RGBA("rgba"),
+ COLOR_MODE_RGB("rgb"),
+ COLOR_MODE_GRAY("gray"),
+ COLOR_MODE_BINARY("binary"),
+ COLOR_MODE_BILEVEL("bi-level");
+
+ private final String name;
+ private final Object defaultValue;
+
+ private BitmapRendererConfigOptions(String name, Object defaultValue) {
+ this.name = name;
+ this.defaultValue = defaultValue;
+ }
+
+ private BitmapRendererConfigOptions(String name) {
+ this(name, null);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Object getDefaultValue() {
+ return defaultValue;
+ }
+
+ public static BitmapRendererConfigOptions getValue(String str) {
+ for (BitmapRendererConfigOptions opt : BitmapRendererConfigOptions.values()) \
{ + if (opt.getName().equalsIgnoreCase(str)) {
+ return opt;
+ }
+ }
+ return null;
+ }
+}
Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java \
Thu May 31 08:33:36 2012 @@ -19,123 +19,82 @@
package org.apache.fop.render.bitmap;
-import java.awt.image.BufferedImage;
+import java.util.ArrayList;
import java.util.List;
-import org.apache.avalon.framework.configuration.Configuration;
-
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.fonts.FontCollection;
-import org.apache.fop.fonts.FontEventAdapter;
-import org.apache.fop.fonts.FontEventListener;
-import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.fonts.FontManager;
-import org.apache.fop.fonts.FontResolver;
-import org.apache.fop.render.DefaultFontResolver;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
+import org.apache.fop.render.bitmap.BitmapRendererConfig.BitmapRendererConfigParser;
import org.apache.fop.render.intermediate.IFDocumentHandler;
-import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
import org.apache.fop.render.java2d.Base14FontCollection;
-import org.apache.fop.render.java2d.ConfiguredFontCollection;
import org.apache.fop.render.java2d.InstalledFontCollection;
import org.apache.fop.render.java2d.Java2DFontMetrics;
-import org.apache.fop.render.java2d.Java2DRenderer;
import org.apache.fop.render.java2d.Java2DRendererConfigurator;
-import org.apache.fop.util.ColorUtil;
/**
* Configurator for bitmap output.
*/
-public class BitmapRendererConfigurator extends Java2DRendererConfigurator
- implements IFDocumentHandlerConfigurator {
+public class BitmapRendererConfigurator extends Java2DRendererConfigurator {
+
+ /**
+ * Default constructor
+ * @param userAgent user agent
+ */
+ public BitmapRendererConfigurator(FOUserAgent userAgent, RendererConfigParser \
rendererConfigParser) { + super(userAgent, rendererConfigParser);
+ }
/**
* Default constructor
* @param userAgent user agent
*/
public BitmapRendererConfigurator(FOUserAgent userAgent) {
- super(userAgent);
+ super(userAgent, null);
}
// ---=== IFDocumentHandler configuration ===---
/** {@inheritDoc} */
public void configure(IFDocumentHandler documentHandler) throws FOPException {
- super.configure(documentHandler);
- Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
- if (cfg != null) {
- AbstractBitmapDocumentHandler bitmapHandler
- = (AbstractBitmapDocumentHandler)documentHandler;
- BitmapRenderingSettings settings = bitmapHandler.getSettings();
-
- boolean transparent = cfg.getChild(
- \
Java2DRenderer.JAVA2D_TRANSPARENT_PAGE_BACKGROUND).getValueAsBoolean(
- settings.hasTransparentPageBackground());
- if (transparent) {
- settings.setPageBackgroundColor(null);
- } else {
- String background = cfg.getChild("background-color").getValue(null);
- if (background != null) {
- settings.setPageBackgroundColor(
- ColorUtil.parseColorString(this.userAgent, background));
- }
- }
-
- boolean antiAliasing = cfg.getChild("anti-aliasing").getValueAsBoolean(
- settings.isAntiAliasingEnabled());
- settings.setAntiAliasing(antiAliasing);
-
- String optimization = cfg.getChild("rendering").getValue(null);
- if ("quality".equalsIgnoreCase(optimization)) {
- settings.setQualityRendering(true);
- } else if ("speed".equalsIgnoreCase(optimization)) {
- settings.setQualityRendering(false);
- }
-
- String color = cfg.getChild("color-mode").getValue(null);
- if (color != null) {
- if ("rgba".equalsIgnoreCase(color)) {
- settings.setBufferedImageType(BufferedImage.TYPE_INT_ARGB);
- } else if ("rgb".equalsIgnoreCase(color)) {
- settings.setBufferedImageType(BufferedImage.TYPE_INT_RGB);
- } else if ("gray".equalsIgnoreCase(color)) {
- settings.setBufferedImageType(BufferedImage.TYPE_BYTE_GRAY);
- } else if ("binary".equalsIgnoreCase(color)) {
- settings.setBufferedImageType(BufferedImage.TYPE_BYTE_BINARY);
- } else if ("bi-level".equalsIgnoreCase(color)) {
- settings.setBufferedImageType(BufferedImage.TYPE_BYTE_BINARY);
- } else {
- throw new FOPException("Invalid value for color-mode: " + \
color);
- }
- }
- }
+ AbstractBitmapDocumentHandler bitmapHandler = \
(AbstractBitmapDocumentHandler) documentHandler; + BitmapRenderingSettings \
settings = bitmapHandler.getSettings(); + // TODO: magic strings!
+ configure(documentHandler, settings, new \
BitmapRendererConfigParser("image/bitmap")); }
- /** {@inheritDoc} */
- public void setupFontInfo(IFDocumentHandler documentHandler, FontInfo fontInfo)
- throws FOPException {
- final FontManager fontManager = userAgent.getFactory().getFontManager();
-
- final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
+ void configure(IFDocumentHandler documentHandler, BitmapRenderingSettings \
settings, + BitmapRendererConfigParser parser) throws FOPException {
+ BitmapRendererConfig config = (BitmapRendererConfig) \
userAgent.getRendererConfig( + documentHandler.getMimeType(), parser);
+ configure(config, settings);
+ }
- final List fontCollections = new java.util.ArrayList();
- fontCollections.add(new Base14FontCollection(java2DFontMetrics));
- fontCollections.add(new InstalledFontCollection(java2DFontMetrics));
-
- Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
- if (cfg != null) {
- FontResolver fontResolver = new DefaultFontResolver(userAgent);
- FontEventListener listener = new FontEventAdapter(
- userAgent.getEventBroadcaster());
- List fontList = buildFontList(cfg, fontResolver, listener);
- fontCollections.add(new ConfiguredFontCollection(fontResolver, fontList,
- userAgent.isComplexScriptFeaturesEnabled()));
+ private void configure(BitmapRendererConfig config, BitmapRenderingSettings \
settings) + throws FOPException {
+ if (config.hasTransparentBackround()) {
+ settings.setPageBackgroundColor(null);
+ } else if (config.getBackgroundColor() != null) {
+ settings.setPageBackgroundColor(config.getBackgroundColor());
+ }
+ if (config.hasAntiAliasing() != null) {
+ settings.setAntiAliasing(config.hasAntiAliasing());
+ }
+ if (config.isRenderHighQuality() != null) {
+ settings.setQualityRendering(config.isRenderHighQuality());
+ }
+ if (config.getColorMode() != null) {
+ settings.setBufferedImageType(config.getColorMode());
}
-
- fontManager.setup(fontInfo,
- (FontCollection[])fontCollections.toArray(
- new FontCollection[fontCollections.size()]));
- documentHandler.setFontInfo(fontInfo);
}
+ @Override
+ protected List<FontCollection> getDefaultFontCollection() {
+ final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
+ final List<FontCollection> fontCollection = new ArrayList<FontCollection>();
+ fontCollection.add(new Base14FontCollection(java2DFontMetrics));
+ fontCollection.add(new InstalledFontCollection(java2DFontMetrics));
+ return fontCollection;
+ }
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRenderingSettings.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java \
Thu May 31 08:33:36 2012 @@ -19,28 +19,30 @@
package org.apache.fop.render.bitmap;
-import java.awt.image.BufferedImage;
-
import org.apache.xmlgraphics.image.writer.ImageWriterParams;
import org.apache.fop.render.java2d.Java2DRenderingSettings;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.ANTI_ALIASING;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.COLOR_MODE;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY;
+
/**
* This class holds settings used when rendering to bitmaps.
*/
-public class BitmapRenderingSettings extends Java2DRenderingSettings implements \
TIFFConstants { +public class BitmapRenderingSettings extends Java2DRenderingSettings \
{
/** ImageWriter parameters */
private ImageWriterParams writerParams;
/** Image Type as parameter for the BufferedImage constructor (see \
BufferedImage.TYPE_*) */
- private int bufferedImageType = BufferedImage.TYPE_INT_ARGB;
+ private int bufferedImageType = (Integer) COLOR_MODE.getDefaultValue();
/** true if anti-aliasing is set */
- private boolean antialiasing = true;
+ private boolean antialiasing = (Boolean) ANTI_ALIASING.getDefaultValue();
/** true if qualityRendering is set */
- private boolean qualityRendering = true;
+ private boolean qualityRendering = (Boolean) \
RENDERING_QUALITY.getDefaultValue();
/**
* Default constructor. Initializes the settings to their default values.
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -20,6 +20,8 @@
package org.apache.fop.render.bitmap;
import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
/**
@@ -27,6 +29,11 @@ import org.apache.fop.render.intermediat
*/
public class PNGDocumentHandler extends AbstractBitmapDocumentHandler {
+
+ PNGDocumentHandler(IFContext context) {
+ super(context);
+ }
+
/** {@inheritDoc} */
public String getMimeType() {
return MimeConstants.MIME_PNG;
@@ -39,6 +46,7 @@ public class PNGDocumentHandler extends
/** {@inheritDoc} */
public IFDocumentHandlerConfigurator getConfigurator() {
+ // TODO what constructir params?
return new BitmapRendererConfigurator(getUserAgent());
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
package org.apache.fop.render.bitmap;
-import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
import org.apache.fop.render.intermediate.IFContext;
@@ -33,10 +32,8 @@ public class PNGDocumentHandlerMaker ext
private static final String[] MIMES = new String[] {MimeConstants.MIME_PNG};
/** {@inheritDoc} */
- public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
- PNGDocumentHandler handler = new PNGDocumentHandler();
- handler.setContext(new IFContext(ua));
- return handler;
+ public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+ return new PNGDocumentHandler(ifContext);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGRendererMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java \
Thu May 31 08:33:36 2012 @@ -19,11 +19,11 @@
package org.apache.fop.render.bitmap;
+import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.AbstractRendererMaker;
import org.apache.fop.render.Renderer;
-import org.apache.fop.render.RendererConfigurator;
import org.apache.fop.render.java2d.Java2DRendererConfigurator;
/**
@@ -33,23 +33,23 @@ public class PNGRendererMaker extends Ab
private static final String[] MIMES = new String[] {MimeConstants.MIME_PNG};
-
- /** {@inheritDoc} */
+ @Override
public Renderer makeRenderer(FOUserAgent ua) {
return new PNGRenderer(ua);
}
- /** {@inheritDoc} */
- public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
- return new Java2DRendererConfigurator(userAgent);
+ @Override
+ public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws \
FOPException { + // TODO what constructir params?
+ new Java2DRendererConfigurator(userAgent, null).configure(renderer);
}
- /** {@inheritDoc} */
+ @Override
public boolean needsOutputStream() {
return true;
}
- /** {@inheritDoc} */
+ @Override
public String[] getSupportedMimeTypes() {
return MIMES;
}
Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java?rev=1344594&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java \
(added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.render.bitmap;
+
+/**
+ * Constants for TIFF output.
+ */
+public enum TIFFCompressionValues {
+ /** No compression */
+ NONE("NONE"),
+ /** JPEG compression */
+ JPEG("JPEG"),
+ /** Packbits (RLE) compression */
+ PACKBITS("PackBits"),
+ /** Deflate compression */
+ DEFLATE("Deflate"),
+ /** LZW compression */
+ LZW("LZW"),
+ /** ZLib compression */
+ ZLIB("ZLib"),
+ /** CCITT Group 4 (T.6) compression */
+ CCITT_T6("CCITT T.6"), //CCITT Group 4
+ /** CCITT Group 3 (T.4) compression */
+ CCITT_T4("CCITT T.4"); //CCITT Group 3
+
+ private final String name;
+
+ private TIFFCompressionValues(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public static TIFFCompressionValues getValue(String name) {
+ for (TIFFCompressionValues tiffConst : TIFFCompressionValues.values()) {
+ if (tiffConst.name.equalsIgnoreCase(name)) {
+ return tiffConst;
+ }
+ }
+ return null;
+ }
+}
Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -20,6 +20,9 @@
package org.apache.fop.render.bitmap;
import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
/**
@@ -27,11 +30,17 @@ import org.apache.fop.render.intermediat
*/
public class TIFFDocumentHandler extends AbstractBitmapDocumentHandler {
+
+ TIFFDocumentHandler(IFContext context) {
+ super(context);
+ }
+
/** {@inheritDoc} */
public String getMimeType() {
return MimeConstants.MIME_TIFF;
}
+
/** {@inheritDoc} */
public String getDefaultExtension() {
return "tif";
@@ -39,7 +48,7 @@ public class TIFFDocumentHandler extends
/** {@inheritDoc} */
public IFDocumentHandlerConfigurator getConfigurator() {
- return new TIFFRendererConfigurator(getUserAgent());
+ return new TIFFRendererConfigurator(getUserAgent(), new \
TIFFRendererConfigParser()); }
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
package org.apache.fop.render.bitmap;
-import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
import org.apache.fop.render.intermediate.IFContext;
@@ -33,10 +32,8 @@ public class TIFFDocumentHandlerMaker ex
private static final String[] MIMES = new String[] {MimeConstants.MIME_TIFF};
/** {@inheritDoc} */
- public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
- TIFFDocumentHandler handler = new TIFFDocumentHandler();
- handler.setContext(new IFContext(ua));
- return handler;
+ public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+ return new TIFFDocumentHandler(ifContext);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java \
Thu May 31 08:33:36 2012 @@ -44,8 +44,13 @@ import org.apache.xmlgraphics.image.writ
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.java2d.Java2DRenderer;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T4;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T6;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.PACKBITS;
+
/**
* <p>
* This class represents renderer to TIFF (Tagged Image File Format) format. It
@@ -67,7 +72,7 @@ import org.apache.fop.render.java2d.Java
* <code>org.apache.fop.render.java2D.Java2DRenderer</code> and just encode
* rendering results into TIFF format using Batik's image codec
*/
-public class TIFFRenderer extends Java2DRenderer implements TIFFConstants {
+public class TIFFRenderer extends Java2DRenderer {
/** ImageWriter parameters */
private ImageWriterParams writerParams;
@@ -79,7 +84,7 @@ public class TIFFRenderer extends Java2D
/** {@inheritDoc} */
public String getMimeType() {
- return MIME_TYPE;
+ return MimeConstants.MIME_TIFF;
}
/**
@@ -90,7 +95,7 @@ public class TIFFRenderer extends Java2D
public TIFFRenderer(FOUserAgent userAgent) {
super(userAgent);
writerParams = new ImageWriterParams();
- writerParams.setCompressionMethod(COMPRESSION_PACKBITS);
+ writerParams.setCompressionMethod(PACKBITS.getName());
int dpi = Math.round(userAgent.getTargetResolution());
writerParams.setResolution(dpi);
@@ -190,8 +195,8 @@ public class TIFFRenderer extends Java2D
throw new NoSuchElementException(e.getMessage());
}
- if (COMPRESSION_CCITT_T4.equalsIgnoreCase(writerParams.getCompressionMethod())
- || \
COMPRESSION_CCITT_T6.equalsIgnoreCase(writerParams.getCompressionMethod())) { + \
TIFFCompressionValues compression = \
TIFFCompressionValues.getValue(writerParams.getCompressionMethod()); + if \
(compression == CCITT_T4 || compression == CCITT_T6) { return pageImage;
} else {
//Decorate the image with a packed sample model for encoding by the \
codec
Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java?rev=1344594&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java \
(added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.render.bitmap;
+
+import java.util.EnumMap;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.xmlgraphics.util.MimeConstants;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.render.RendererConfigOptions;
+
+public final class TIFFRendererConfig extends BitmapRendererConfig {
+
+ public enum TIFFRendererConfigOptions implements RendererConfigOptions {
+ COMPRESSION("compression", TIFFCompressionValues.PACKBITS);
+
+ private final String name;
+ private final Object defaultValue;
+
+ private TIFFRendererConfigOptions(String name, Object defaultValue) {
+ this.name = name;
+ this.defaultValue = defaultValue;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Object getDefaultValue() {
+ return defaultValue;
+ }
+ }
+
+ private final EnumMap<TIFFRendererConfigOptions, Object> params
+ = new EnumMap<TIFFRendererConfigOptions, \
Object>(TIFFRendererConfigOptions.class); +
+ private TIFFRendererConfig(DefaultFontConfig fontConfig) {
+ super(fontConfig);
+ }
+
+ public TIFFCompressionValues getCompressionType() {
+ return (TIFFCompressionValues) \
params.get(TIFFRendererConfigOptions.COMPRESSION); + }
+
+ public static final class TIFFRendererConfigParser extends \
BitmapRendererConfigParser { +
+ public TIFFRendererConfigParser() {
+ super(MimeConstants.MIME_TIFF);
+ }
+
+ private TIFFRendererConfig config;
+
+ private void setParam(TIFFRendererConfigOptions option, Object value) {
+ config.params.put(option, value != null ? value : \
option.getDefaultValue()); + }
+
+ private String getValue(Configuration cfg, TIFFRendererConfigOptions option) \
{ + return cfg.getChild(option.getName()).getValue(null);
+ }
+
+ public TIFFRendererConfig build(FOUserAgent userAgent, Configuration cfg) \
throws FOPException { + config = new TIFFRendererConfig(new \
DefaultFontConfigParser() + .parse(cfg, \
userAgent.validateStrictly())); + super.build(config, userAgent, cfg);
+ if (cfg != null) {
+ setParam(TIFFRendererConfigOptions.COMPRESSION,
+ TIFFCompressionValues.getValue(getValue(cfg,
+ TIFFRendererConfigOptions.COMPRESSION)));
+ }
+ return config;
+ }
+ }
+}
Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java \
Thu May 31 08:33:36 2012 @@ -21,24 +21,34 @@ package org.apache.fop.render.bitmap;
import java.awt.image.BufferedImage;
-import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.xmlgraphics.image.writer.ImageWriterParams;
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.render.Renderer;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
import org.apache.fop.render.intermediate.IFDocumentHandler;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T4;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T6;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.NONE;
+
/**
* TIFF Renderer configurator
*/
public class TIFFRendererConfigurator extends BitmapRendererConfigurator {
+ private static final Log LOG = \
LogFactory.getLog(TIFFRendererConfigurator.class);
/**
* Default constructor
* @param userAgent user agent
*/
- public TIFFRendererConfigurator(FOUserAgent userAgent) {
- super(userAgent);
+ public TIFFRendererConfigurator(FOUserAgent userAgent, RendererConfigParser \
rendererConfigParser) { + super(userAgent, rendererConfigParser);
}
/**
@@ -49,58 +59,46 @@ public class TIFFRendererConfigurator ex
* {@inheritDoc}
*/
public void configure(Renderer renderer) throws FOPException {
- Configuration cfg = super.getRendererConfig(renderer);
- if (cfg != null) {
- TIFFRenderer tiffRenderer = (TIFFRenderer)renderer;
+ final TIFFRendererConfig config = (TIFFRendererConfig) \
getRendererConfig(renderer); + if (config != null) {
+ TIFFRenderer tiffRenderer = (TIFFRenderer) renderer;
//set compression
- String name = \
cfg.getChild("compression").getValue(TIFFConstants.COMPRESSION_PACKBITS);
- //Some compression formats need a special image format:
- tiffRenderer.setBufferedImageType(getBufferedImageTypeFor(name));
- if (!"NONE".equalsIgnoreCase(name)) {
- tiffRenderer.getWriterParams().setCompressionMethod(name);
+ tiffRenderer.setBufferedImageType(getCompressionType(config, \
tiffRenderer.getWriterParams())); + }
+ super.configure(renderer);
+ }
+
+ private int getCompressionType(TIFFRendererConfig config, ImageWriterParams \
writerParms) + throws FOPException {
+ //Some compression formats need a special image format:
+ TIFFCompressionValues compression = config.getCompressionType();
+ if (compression != null) {
+ if (compression != NONE) {
+ writerParms.setCompressionMethod(compression.getName());
}
- if (log.isInfoEnabled()) {
- log.info("TIFF compression set to " + name);
+ if (LOG.isInfoEnabled()) {
+ LOG.info("TIFF compression set to " + compression.getName());
}
}
- super.configure(renderer);
+ return getBufferedImageTypeFor(compression);
}
- /**
- * Determines the type value for the BufferedImage to be produced for rendering
- * the bitmap image.
- * @param compressionName the compression name
- * @return a value from the {@link BufferedImage}.TYPE_* constants
- */
- private int getBufferedImageTypeFor(String compressionName) {
- if (compressionName.equalsIgnoreCase(TIFFConstants.COMPRESSION_CCITT_T6)) {
- return BufferedImage.TYPE_BYTE_BINARY;
- } else if (compressionName.equalsIgnoreCase(TIFFConstants.COMPRESSION_CCITT_T4)) \
{ + private int getBufferedImageTypeFor(TIFFCompressionValues compressionType) {
+ if (compressionType == CCITT_T6 || compressionType == CCITT_T4) {
return BufferedImage.TYPE_BYTE_BINARY;
} else {
return BufferedImage.TYPE_INT_ARGB;
}
}
- // ---=== IFDocumentHandler configuration ===---
-
/** {@inheritDoc} */
public void configure(IFDocumentHandler documentHandler) throws FOPException {
- super.configure(documentHandler);
- Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
- if (cfg != null) {
- TIFFDocumentHandler tiffHandler = (TIFFDocumentHandler)documentHandler;
+ final TIFFRendererConfig tiffConfig = (TIFFRendererConfig) \
getRendererConfig(documentHandler); + if (tiffConfig != null) {
+ TIFFDocumentHandler tiffHandler = (TIFFDocumentHandler) documentHandler;
BitmapRenderingSettings settings = tiffHandler.getSettings();
- //set compression
- String name = \
cfg.getChild("compression").getValue(TIFFConstants.COMPRESSION_PACKBITS);
- //Some compression formats need a special image format:
- settings.setBufferedImageType(getBufferedImageTypeFor(name));
- if (!"NONE".equalsIgnoreCase(name)) {
- settings.getWriterParams().setCompressionMethod(name);
- }
- if (log.isInfoEnabled()) {
- log.info("TIFF compression set to " + name);
- }
+ configure(documentHandler, settings, new TIFFRendererConfigParser());
+ settings.setBufferedImageType(getCompressionType(tiffConfig, \
settings.getWriterParams())); }
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRendererMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java \
Thu May 31 08:33:36 2012 @@ -19,11 +19,12 @@
package org.apache.fop.render.bitmap;
+import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.AbstractRendererMaker;
import org.apache.fop.render.Renderer;
-import org.apache.fop.render.RendererConfigurator;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
/**
* RendererMaker for the TIFF Renderer.
@@ -32,24 +33,24 @@ public class TIFFRendererMaker extends A
private static final String[] MIMES = new String[] {MimeConstants.MIME_TIFF};
- /** {@inheritDoc} */
+ @Override
public Renderer makeRenderer(FOUserAgent userAgent) {
return new TIFFRenderer(userAgent);
}
- /** {@inheritDoc} */
- public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
- return new TIFFRendererConfigurator(userAgent);
- }
-
- /** {@inheritDoc} */
+ @Override
public boolean needsOutputStream() {
return true;
}
- /** {@inheritDoc} */
+ @Override
public String[] getSupportedMimeTypes() {
return MIMES;
}
+ @Override
+ public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws \
FOPException { + new TIFFRendererConfigurator(userAgent, new \
TIFFRendererConfigParser()).configure(renderer); + }
+
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -49,6 +49,10 @@ public abstract class AbstractBinaryWrit
/** Font configuration */
protected FontInfo fontInfo;
+ public AbstractBinaryWritingIFDocumentHandler(IFContext ifContext) {
+ super(ifContext);
+ }
+
/** {@inheritDoc} */
public void setResult(Result result) throws IFException {
if (result instanceof StreamResult) {
@@ -95,7 +99,7 @@ public abstract class AbstractBinaryWrit
/** {@inheritDoc} */
public void setDefaultFontInfo(FontInfo fontInfo) {
- FontManager fontManager = getUserAgent().getFactory().getFontManager();
+ FontManager fontManager = getUserAgent().getFontManager();
FontCollection[] fontCollections = new FontCollection[] {
new Base14FontCollection(fontManager.isBase14KerningEnabled())
};
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -21,6 +21,9 @@ package org.apache.fop.render.intermedia
import java.util.Locale;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import org.apache.fop.accessibility.DummyStructureTreeEventHandler;
import org.apache.fop.accessibility.StructureTreeEventHandler;
import org.apache.fop.apps.FOUserAgent;
@@ -30,19 +33,19 @@ import org.apache.fop.apps.FOUserAgent;
*/
public abstract class AbstractIFDocumentHandler implements IFDocumentHandler {
- private IFContext ifContext;
+ /** logging instance */
+ private static Log log = LogFactory.getLog(AbstractIFDocumentHandler.class);
+
+ private final IFContext ifContext;
/**
* Default constructor.
*/
- public AbstractIFDocumentHandler() {
- }
-
- /** {@inheritDoc} */
- public void setContext(IFContext context) {
+ protected AbstractIFDocumentHandler(IFContext context) {
this.ifContext = context;
}
+
/** {@inheritDoc} */
public IFContext getContext() {
return this.ifContext;
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
package org.apache.fop.render.intermediate;
-import org.apache.fop.apps.FOUserAgent;
/**
* Base class for factory classes which instantiate {@link IFDocumentHandler}s and \
provide @@ -29,10 +28,10 @@ public abstract class AbstractIFDocument
/**
* Instantiates a new {@link IFDocumentHandler}.
- * @param userAgent the user agent
+ * @param ifContext the user agent
* @return the newly instantiated document handler
*/
- public abstract IFDocumentHandler makeIFDocumentHandler(FOUserAgent userAgent);
+ public abstract IFDocumentHandler makeIFDocumentHandler(IFContext ifContext);
/**
* @return Indicates whether this document handler requires an OutputStream to \
work with.
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFPainter.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java \
Thu May 31 08:33:36 2012 @@ -45,7 +45,6 @@ import org.apache.xmlgraphics.image.load
import org.apache.fop.ResourceEventProducer;
import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
import org.apache.fop.fo.Constants;
import org.apache.fop.render.ImageHandler;
import org.apache.fop.render.ImageHandlerRegistry;
@@ -89,14 +88,6 @@ public abstract class AbstractIFPainter
return getContext().getUserAgent();
}
- /**
- * Returns the FOP factory.
- * @return the FOP factory.
- */
- protected FopFactory getFopFactory() {
- return getUserAgent().getFactory();
- }
-
private AffineTransform combine(AffineTransform[] transforms) {
AffineTransform at = new AffineTransform();
for (int i = 0, c = transforms.length; i < c; i++) {
@@ -131,9 +122,9 @@ public abstract class AbstractIFPainter
*/
protected void drawImageUsingImageHandler(ImageInfo info, Rectangle rect)
throws ImageException, IOException {
- ImageManager manager = getFopFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext();
- ImageHandlerRegistry imageHandlerRegistry = \
getFopFactory().getImageHandlerRegistry(); + ImageHandlerRegistry \
imageHandlerRegistry = getUserAgent().getImageHandlerRegistry();
//Load and convert the image to a supported format
RenderingContext context = createRenderingContext();
@@ -197,8 +188,8 @@ public abstract class AbstractIFPainter
protected void drawImage(Image image, Rectangle rect,
RenderingContext context, boolean convert, Map additionalHints)
throws IOException, ImageException {
- ImageManager manager = getFopFactory().getImageManager();
- ImageHandlerRegistry imageHandlerRegistry = \
getFopFactory().getImageHandlerRegistry(); + ImageManager manager = \
getUserAgent().getImageManager(); + ImageHandlerRegistry imageHandlerRegistry \
= getUserAgent().getImageHandlerRegistry();
Image effImage;
context.putHints(additionalHints);
@@ -236,7 +227,7 @@ public abstract class AbstractIFPainter
* @return the ImageInfo instance or null if there has been an error.
*/
protected ImageInfo getImageInfo(String uri) {
- ImageManager manager = getFopFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
try {
ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext(); return manager.getImageInfo(uri, \
sessionContext); @@ -262,7 +253,7 @@ public abstract class AbstractIFPainter
* @param rect the rectangle in which to paint the image
*/
protected void drawImageUsingURI(String uri, Rectangle rect) {
- ImageManager manager = getFopFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
ImageInfo info = null;
try {
ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext(); @@ -290,7 +281,7 @@ public abstract class \
AbstractIFPainter
* @param rect the rectangle in which to paint the image
*/
protected void drawImageUsingDocument(Document doc, Rectangle rect) {
- ImageManager manager = getFopFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
ImageInfo info = null;
try {
info = manager.preloadImage(null, new DOMSource(doc));
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -45,6 +45,10 @@ public abstract class AbstractXMLWriting
/** Main SAX ContentHandler to receive the generated SAX events. */
protected GenerationHelperContentHandler handler;
+ protected AbstractXMLWritingIFDocumentHandler(IFContext context) {
+ super(context);
+ }
+
/** {@inheritDoc} */
public void setResult(Result result) throws IFException {
if (result instanceof SAXResult) {
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -78,12 +78,6 @@ import org.apache.fop.fonts.FontInfo;
public interface IFDocumentHandler {
/**
- * Sets the intermediate format context object.
- * @param context the context object
- */
- void setContext(IFContext context);
-
- /**
* Returns the associated intermediate format context object.
* @return the context object
*/
@@ -274,4 +268,5 @@ public interface IFDocumentHandler {
* @throws IFException if an error occurs while handling this event
*/
void handleExtensionObject(Object extension) throws IFException;
+
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java \
Thu May 31 08:33:36 2012 @@ -40,6 +40,6 @@ public interface IFDocumentHandlerConfig
* @param fontInfo the font info object to set up
* @throws FOPException if an error occurs while configuring the object
*/
- void setupFontInfo(IFDocumentHandler documentHandler, FontInfo fontInfo) throws \
FOPException; + void setupFontInfo(String mimeType, FontInfo fontInfo) throws \
FOPException;
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFParser.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java \
Thu May 31 08:33:36 2012 @@ -130,7 +130,7 @@ public class IFParser implements IFConst
public ContentHandler getContentHandler(IFDocumentHandler documentHandler,
FOUserAgent userAgent) {
ElementMappingRegistry elementMappingRegistry
- = userAgent.getFactory().getElementMappingRegistry();
+ = userAgent.getElementMappingRegistry();
return new Handler(documentHandler, userAgent, elementMappingRegistry);
}
@@ -306,7 +306,7 @@ public class IFParser implements IFConst
delegate.startElement(uri, localName, qName, attributes);
} else {
ContentHandlerFactoryRegistry registry
- = \
userAgent.getFactory().getContentHandlerFactoryRegistry(); + \
= userAgent.getContentHandlerFactoryRegistry();
ContentHandlerFactory factory = registry.getFactory(uri);
if (factory == null) {
DOMImplementation domImplementation
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java \
Thu May 31 08:33:36 2012 @@ -232,9 +232,8 @@ public class IFRenderer extends Abstract
* @return the default IFDocumentHandler
*/
protected IFDocumentHandler createDefaultDocumentHandler() {
- IFSerializer serializer = new IFSerializer();
FOUserAgent userAgent = getUserAgent();
- serializer.setContext(new IFContext(userAgent));
+ IFSerializer serializer = new IFSerializer(new IFContext(userAgent));
if (userAgent.isAccessibilityEnabled()) {
userAgent.setStructureTreeEventHandler(serializer.getStructureTreeEventHandler());
}
Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFRendererConfig.java?rev=1344594&view=auto \
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java \
(added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.render.intermediate;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.fonts.FontConfig;
+import org.apache.fop.render.RendererConfig;
+
+public final class IFRendererConfig implements RendererConfig {
+
+ private final DefaultFontConfig fontConfig;
+
+ private IFRendererConfig(DefaultFontConfig fontConfig) {
+ this.fontConfig = fontConfig;
+ }
+
+ public FontConfig getFontInfoConfig() {
+ return fontConfig;
+ }
+
+ public static final class IFRendererConfigParser implements RendererConfigParser \
{ +
+ public RendererConfig build(FOUserAgent userAgent, Configuration cfg)
+ throws FOPException {
+ return new IFRendererConfig(new DefaultFontConfigParser().parse(cfg,
+ userAgent.validateStrictly()));
+ }
+
+ public String getMimeType() {
+ return "application/X-fop-intermediate-format";
+ }
+ }
+}
Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFSerializer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java \
Thu May 31 08:33:36 2012 @@ -40,8 +40,9 @@ import org.apache.xmlgraphics.util.XMLiz
import org.apache.fop.accessibility.StructureTreeEventHandler;
import org.apache.fop.fo.extensions.InternalElementMapping;
import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.render.PrintRendererConfigurator;
import org.apache.fop.render.RenderingContext;
+import org.apache.fop.render.adobe.AdobeRendererConfigurator;
+import org.apache.fop.render.intermediate.IFRendererConfig.IFRendererConfigParser;
import org.apache.fop.render.intermediate.IFStructureTreeBuilder.IFStructureTreeElement;
import org.apache.fop.render.intermediate.extensions.AbstractAction;
import org.apache.fop.render.intermediate.extensions.Bookmark;
@@ -62,7 +63,7 @@ import org.apache.fop.util.XMLUtil;
* IFPainter implementation that serializes the intermediate format to XML.
*/
public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
- implements IFConstants, IFPainter, IFDocumentNavigationHandler {
+implements IFConstants, IFPainter, IFDocumentNavigationHandler {
/**
* Intermediate Format (IF) version, used to express an @version attribute
@@ -83,6 +84,10 @@ public class IFSerializer extends Abstra
private IFStructureTreeBuilder structureTreeBuilder;
+ public IFSerializer(IFContext context) {
+ super(context);
+ }
+
/** {@inheritDoc} */
@Override
protected String getMainNamespace() {
@@ -106,7 +111,7 @@ public class IFSerializer extends Abstra
if (this.mimicHandler != null) {
return getMimickedDocumentHandler().getConfigurator();
} else {
- return new PrintRendererConfigurator(getUserAgent());
+ return new AdobeRendererConfigurator(getUserAgent(), new \
IFRendererConfigParser()); }
}
@@ -284,7 +289,7 @@ public class IFSerializer extends Abstra
/** {@inheritDoc} */
public void startPage(int index, String name, String pageMasterName, Dimension \
size)
- throws IFException {
+ throws IFException {
try {
AttributesImpl atts = new AttributesImpl();
addAttribute(atts, "index", Integer.toString(index));
@@ -386,7 +391,7 @@ public class IFSerializer extends Abstra
}
private void startViewport(String transform, Dimension size, Rectangle clipRect)
- throws IFException {
+ throws IFException {
try {
AttributesImpl atts = new AttributesImpl();
if (transform != null && transform.length() > 0) {
@@ -684,7 +689,7 @@ public class IFSerializer extends Abstra
} else {
throw new UnsupportedOperationException(
"Extension must implement XMLizable: "
- + extension + " (" + extension.getClass().getName() + ")");
+ + extension + " (" + extension.getClass().getName() + \
")"); }
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFSerializerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java \
Thu May 31 08:33:36 2012 @@ -28,9 +28,9 @@ import org.apache.fop.apps.MimeConstants
public class IFSerializerMaker extends AbstractIFDocumentHandlerMaker {
/** {@inheritDoc} */
- public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
- IFSerializer handler = new IFSerializer();
- handler.setContext(new IFContext(ua));
+ public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+ IFSerializer handler = new IFSerializer(ifContext);
+ FOUserAgent ua = ifContext.getUserAgent();
if (ua.isAccessibilityEnabled()) {
ua.setStructureTreeEventHandler(handler.getStructureTreeEventHandler());
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFUtil.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java \
Thu May 31 08:33:36 2012 @@ -167,7 +167,8 @@ public final class IFUtil {
}
IFDocumentHandlerConfigurator configurator = \
documentHandler.getConfigurator(); if (configurator != null) {
- configurator.setupFontInfo(documentHandler, fontInfo);
+ configurator.setupFontInfo(documentHandler.getMimeType(), fontInfo);
+ documentHandler.setFontInfo(fontInfo);
} else {
documentHandler.setDefaultFontInfo(fontInfo);
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java \
Thu May 31 08:33:36 2012 @@ -61,11 +61,6 @@ public class IFDocumentHandlerProxy impl
}
/** {@inheritDoc} */
- public void setContext(IFContext context) {
- this.delegate.setContext(context);
- }
-
- /** {@inheritDoc} */
public IFContext getContext() {
return this.delegate.getContext();
}
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/ConfiguredFontCollection.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java \
Thu May 31 08:33:36 2012 @@ -19,21 +19,20 @@
package org.apache.fop.render.java2d;
+import java.io.InputStream;
+import java.net.URI;
import java.util.List;
-import javax.xml.transform.Source;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.fop.apps.io.URIResolverWrapper;
import org.apache.fop.fonts.CustomFont;
import org.apache.fop.fonts.EmbedFontInfo;
import org.apache.fop.fonts.EncodingMode;
import org.apache.fop.fonts.FontCollection;
import org.apache.fop.fonts.FontInfo;
import org.apache.fop.fonts.FontLoader;
-import org.apache.fop.fonts.FontManager;
-import org.apache.fop.fonts.FontResolver;
import org.apache.fop.fonts.FontTriplet;
import org.apache.fop.fonts.LazyFont;
@@ -44,23 +43,21 @@ public class ConfiguredFontCollection im
private static Log log = LogFactory.getLog(ConfiguredFontCollection.class);
- private FontResolver fontResolver;
- private List/*<EmbedFontInfo>*/ embedFontInfoList;
+ private final URIResolverWrapper uriResolver;
+ private final List<EmbedFontInfo> embedFontInfoList;
+ private final boolean useComplexScripts;
/**
* Main constructor
- * @param fontResolver a font resolver
+ * @param uriResolver a font resolver
* @param customFonts the list of custom fonts
* @param useComplexScriptFeatures true if complex script features enabled
*/
- public ConfiguredFontCollection(FontResolver fontResolver,
- List/*<EmbedFontInfo>*/ customFonts, boolean useComplexScriptFeatures) {
- this.fontResolver = fontResolver;
- if (this.fontResolver == null) {
- //Ensure that we have minimal font resolution capabilities
- this.fontResolver = \
FontManager.createMinimalFontResolver(useComplexScriptFeatures);
- }
+ public ConfiguredFontCollection(URIResolverWrapper uriResolver,
+ List<EmbedFontInfo> customFonts, boolean useComplexScriptFeatures) {
+ this.uriResolver = uriResolver;
this.embedFontInfoList = customFonts;
+ this.useComplexScripts = useComplexScriptFeatures;
}
/** {@inheritDoc} */
@@ -72,42 +69,37 @@ public class ConfiguredFontCollection im
}
String internalName = null;
- for (int i = 0; i < embedFontInfoList.size(); i++) {
-
- EmbedFontInfo configFontInfo = (EmbedFontInfo) embedFontInfoList.get(i);
- String fontFile = configFontInfo.getEmbedFile();
- internalName = "F" + num;
- num++;
+ for (EmbedFontInfo configFontInfo : embedFontInfoList) {
+ internalName = "F" + num++;
try {
+ URI fontURI = configFontInfo.getEmbedURI();
FontMetricsMapper font = null;
- String metricsUrl = configFontInfo.getMetricsFile();
+ URI metricsURI = configFontInfo.getMetricsURI();
// If the user specified an XML-based metrics file, we'll use it
// Otherwise, calculate metrics directly from the font file.
- if (metricsUrl != null) {
- LazyFont fontMetrics = new LazyFont(configFontInfo, \
fontResolver);
- Source fontSource = \
fontResolver.resolve(configFontInfo.getEmbedFile()); + if (metricsURI \
!= null) { + LazyFont fontMetrics = new LazyFont(configFontInfo, \
uriResolver, useComplexScripts); + InputStream fontSource = \
uriResolver.resolveIn(fontURI);
font = new CustomFontMetricsMapper(fontMetrics, fontSource);
} else {
CustomFont fontMetrics = FontLoader.loadFont(
- fontFile, null, true, EncodingMode.AUTO,
+ fontURI, null, true, EncodingMode.AUTO,
configFontInfo.getKerning(),
- configFontInfo.getAdvanced(), fontResolver);
+ configFontInfo.getAdvanced(), uriResolver);
font = new CustomFontMetricsMapper(fontMetrics);
}
fontInfo.addMetrics(internalName, font);
- List<FontTriplet> triplets = configFontInfo.getFontTriplets();
- for (int c = 0; c < triplets.size(); c++) {
- FontTriplet triplet = (FontTriplet) triplets.get(c);
-
+ for (FontTriplet triplet : configFontInfo.getFontTriplets()) {
if (log.isDebugEnabled()) {
log.debug("Registering: " + triplet + " under " + \
internalName); }
fontInfo.addFontProperties(internalName, triplet);
}
} catch (Exception e) {
- log.warn("Unable to load custom font from file '" + fontFile + "'", \
e); + log.warn("Unable to load custom font from file '" + \
configFontInfo.getEmbedURI() + + "'", e);
}
}
return num;
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/CustomFontMetricsMapper.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java \
Thu May 31 08:33:36 2012 @@ -26,9 +26,6 @@ import java.io.InputStream;
import java.util.Map;
import java.util.Set;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
import org.apache.fop.fonts.CustomFont;
import org.apache.fop.fonts.FontType;
import org.apache.fop.fonts.LazyFont;
@@ -67,7 +64,7 @@ public class CustomFontMetricsMapper ext
public CustomFontMetricsMapper(final CustomFont fontMetrics)
throws FontFormatException, IOException {
this.typeface = fontMetrics;
- initialize(fontMetrics.getEmbedFileSource());
+ initialize(fontMetrics.getInputStream());
}
/**
@@ -78,7 +75,7 @@ public class CustomFontMetricsMapper ext
* @throws FontFormatException if a bad font is loaded
* @throws IOException if an I/O error occurs
*/
- public CustomFontMetricsMapper(final LazyFont fontMetrics, final Source \
fontSource) + public CustomFontMetricsMapper(final LazyFont fontMetrics, final \
InputStream fontSource) throws FontFormatException, IOException {
this.typeface = fontMetrics;
initialize(fontSource);
@@ -88,29 +85,18 @@ public class CustomFontMetricsMapper ext
/**
* Loads the java.awt.Font
- * @param source
+ * @param inStream
* @throws FontFormatException
* @throws IOException
*/
- private void initialize(final Source source)
+ private void initialize(final InputStream inStream)
throws FontFormatException, IOException {
int type = Font.TRUETYPE_FONT;
if (FontType.TYPE1.equals(typeface.getFontType())) {
type = TYPE1_FONT; //Font.TYPE1_FONT; only available in Java 1.5
}
-
- InputStream is = null;
- if (source instanceof StreamSource) {
- is = ((StreamSource) source).getInputStream();
- } else if (source.getSystemId() != null) {
- is = new java.net.URL(source.getSystemId()).openStream();
- } else {
- throw new IllegalArgumentException("No font source provided.");
- }
-
- this.font = Font.createFont(type, is);
- is.close();
-
+ this.font = Font.createFont(type, inStream);
+ inStream.close();
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/Java2DRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java \
(original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java \
Thu May 31 08:33:36 2012 @@ -58,7 +58,7 @@ import org.apache.xmlgraphics.util.UnitC
import org.apache.fop.ResourceEventProducer;
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactoryConfigurator;
+import org.apache.fop.apps.FopFactoryConfig;
import org.apache.fop.area.CTM;
import org.apache.fop.area.PageViewport;
import org.apache.fop.area.Trait;
@@ -73,6 +73,7 @@ import org.apache.fop.fo.Constants;
import org.apache.fop.fonts.Font;
import org.apache.fop.fonts.FontCollection;
import org.apache.fop.fonts.FontInfo;
+import org.apache.fop.fonts.FontManager;
import org.apache.fop.fonts.Typeface;
import org.apache.fop.render.AbstractPathOrientedRenderer;
import org.apache.fop.render.Graphics2DAdapter;
@@ -83,6 +84,8 @@ import org.apache.fop.render.pdf.CTMHelp
import org.apache.fop.util.CharUtilities;
import org.apache.fop.util.ColorUtil;
+import static org.apache.fop.render.java2d.Java2DRendererOptions.JAVA2D_TRANSPARENT_PAGE_BACKGROUND;
+
/**
* The <code>Java2DRenderer</code> class provides the abstract technical
* foundation for all rendering with the Java2D API. Renderers like
@@ -109,9 +112,6 @@ import org.apache.fop.util.ColorUtil;
*/
public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implements \
Printable {
- /** Rendering Options key for the controlling the transparent page background \
option. */
- public static final String JAVA2D_TRANSPARENT_PAGE_BACKGROUND = \
"transparent-page-background";
-
/** The scale factor for the image size, values: ]0 ; 1] */
protected double scaleFactor = 1;
@@ -157,7 +157,7 @@ public abstract class Java2DRenderer ext
// MH: necessary? the caller has access to FOUserAgent
userAgent.setRendererOverride(this); // for document regeneration
- String s = (String) \
userAgent.getRendererOptions().get(JAVA2D_TRANSPARENT_PAGE_BACKGROUND); + \
String s = (String) userAgent.getRendererOption(JAVA2D_TRANSPARENT_PAGE_BACKGROUND); \
if (s != null) { this.transparentPageBackground = "true".equalsIgnoreCase(s);
}
@@ -175,14 +175,15 @@ public abstract class Java2DRenderer ext
this.fontInfo = inFontInfo;
final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
+ FontManager fontManager = userAgent.getFontManager();
+
FontCollection[] fontCollections = new FontCollection[] {
new Base14FontCollection(java2DFontMetrics),
new InstalledFontCollection(java2DFontMetrics),
- new ConfiguredFontCollection(getFontResolver(), getFontList(),
- \
userAgent.isComplexScriptFeaturesEnabled()) + new \
ConfiguredFontCollection(fontManager.getURIResolver(), getFontList(), + \
userAgent.isComplexScriptFeaturesEnabled()) };
- userAgent.getFactory().getFontManager().setup(
- getFontInfo(), fontCollections);
+ fontManager.setup(getFontInfo(), fontCollections);
}
/** {@inheritDoc} */
@@ -317,7 +318,7 @@ public abstract class Java2DRenderer ext
// set scale factor
double scaleX = scaleFactor;
double scaleY = scaleFactor;
- String scale = (String) currentPageViewport.getForeignAttributes().get(
+ String scale = currentPageViewport.getForeignAttributes().get(
PageScale.EXT_PAGE_SCALE);
Point2D scales = PageScale.getScale(scale);
if (scales != null) {
@@ -326,10 +327,10 @@ public abstract class Java2DRenderer ext
}
scaleX = scaleX
- * (UnitConv.IN2MM / \
FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION) + * \
(UnitConv.IN2MM / FopFactoryConfig.DEFAULT_TARGET_RESOLUTION) / \
userAgent.getTargetPixelUnitToMillimeter(); scaleY = scaleY
- * (UnitConv.IN2MM / \
FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION) + * \
(UnitConv.IN2MM / FopFactoryConfig.DEFAULT_TARGET_RESOLUTION) / \
userAgent.getTargetPixelUnitToMillimeter(); int bitmapWidth = (int) ((pageWidth * \
scaleX) + 0.5); int bitmapHeight = (int) ((pageHeight * scaleY) + 0.5);
@@ -737,7 +738,7 @@ public abstract class Java2DRenderer ext
//super.renderText(text);
// rendering text decorations
- Typeface tf = (Typeface) fontInfo.getFonts().get(font.getFontName());
+ Typeface tf = fontInfo.getFonts().get(font.getFontName());
int fontsize = text.getTraitAsInteger(Trait.FONT_SIZE);
renderTextDecoration(tf, fontsize, text, bl, rx);
}
@@ -918,7 +919,7 @@ public abstract class Java2DRenderer ext
int y = currentBPPosition + (int)Math.round(pos.getY());
uri = URISpecification.getURL(uri);
- ImageManager manager = getUserAgent().getFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
ImageInfo info = null;
try {
ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext();
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic