Author: phancock
Date: Thu Sep 13 12:45:27 2012
New Revision: 1384310
URL: http://svn.apache.org/viewvc?rev=1384310&view=rev
Log:
Bugzilla #53865: Add Rows per Strip configuration for Tiff renderer
Modified:
xmlgraphics/fop/trunk/lib/xmlgraphics-commons-1.5svn.jar
xmlgraphics/fop/trunk/src/documentation/content/xdocs/trunk/output.xml
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
xmlgraphics/fop/trunk/status.xml
xmlgraphics/fop/trunk/test/java/org/apache/fop/apps/TIFFRendererConfBuilder.java
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfigParserTestCase.java
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfiguratorTestCase.java
Modified: xmlgraphics/fop/trunk/lib/xmlgraphics-commons-1.5svn.jar
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/lib/xmlgraphics-commons-1.5svn.jar?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
Binary files - no diff available.
Modified: xmlgraphics/fop/trunk/src/documentation/content/xdocs/trunk/output.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/documentation/content/xdocs/trunk/output.xml?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/documentation/content/xdocs/trunk/output.xml
(original)
+++ xmlgraphics/fop/trunk/src/documentation/content/xdocs/trunk/output.xml Thu
Sep 13 12:45:27 2012
@@ -1270,6 +1270,7 @@ Note that the value of the encoding attr
<source><![CDATA[<renderer mime="image/tiff">
<transparent-page-background>true</transparent-page-background>
<compression>CCITT T.6</compression>
+ <single-strip>true</single-strip>
<fonts><!-- described elsewhere --></fonts>
</renderer>]]></source>
<p>
@@ -1303,6 +1304,10 @@ Note that the value of the encoding attr
added separately. The internal TIFF codec from XML Graphics Commons
only supports PackBits,
Deflate and JPEG compression for writing.
</note>
+ <p>
+ The default value for the <code>"single-strip"</code> is
<code>"false"</code> resulting in the RowsPerStrip Tiff Tag equal to the number
of rows.
+ If set to <code>true</code> RowsPerStrip is set to 1.
+ </p>
</section>
<section id="bitmap-rendering-options">
<title>Runtime Rendering Options</title>
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
(original)
+++
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
Thu Sep 13 12:45:27 2012
@@ -19,9 +19,12 @@
package org.apache.fop.render.bitmap;
+import org.apache.xmlgraphics.image.writer.ResolutionUnit;
+
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;
/**
@@ -32,6 +35,7 @@ public class TIFFDocumentHandler extends
TIFFDocumentHandler(IFContext context) {
super(context);
+
getSettings().getWriterParams().setResolutionUnit(ResolutionUnit.CENTIMETER);
}
/** {@inheritDoc} */
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
(original)
+++
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
Thu Sep 13 12:45:27 2012
@@ -23,21 +23,24 @@ 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.apps.MimeConstants;
import org.apache.fop.fonts.DefaultFontConfig;
import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
import org.apache.fop.render.RendererConfigOption;
+import static org.apache.fop.render.bitmap.TIFFCompressionValue.PACKBITS;
+
/**
* The renderer configuration object for the TIFF renderer.
*/
public final class TIFFRendererConfig extends BitmapRendererConfig {
public enum TIFFRendererOption implements RendererConfigOption {
- COMPRESSION("compression", TIFFCompressionValue.PACKBITS);
+ COMPRESSION("compression", PACKBITS),
+ /** option to encode one row per strip or a all rows in a single
strip*/
+ SINGLE_STRIP("single-strip", Boolean.FALSE);
private final String name;
private final Object defaultValue;
@@ -68,6 +71,14 @@ public final class TIFFRendererConfig ex
}
/**
+ * @return True if all rows are contained in a single strip, False each
strip contains one row or null
+ * if not set.
+ */
+ public Boolean isSingleStrip() {
+ return (Boolean) params.get(TIFFRendererOption.SINGLE_STRIP);
+ }
+
+ /**
* The TIFF renderer configuration parser.
*/
public static final class TIFFRendererConfigParser extends
BitmapRendererConfigParser {
@@ -94,6 +105,8 @@ public final class TIFFRendererConfig ex
if (cfg != null) {
setParam(TIFFRendererOption.COMPRESSION,
TIFFCompressionValue.getType(getValue(cfg,
TIFFRendererOption.COMPRESSION)));
+ setParam(TIFFRendererOption.SINGLE_STRIP,
Boolean.valueOf(getValue(cfg,
+ TIFFRendererOption.SINGLE_STRIP)));
}
return config;
}
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
(original)
+++
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
Thu Sep 13 12:45:27 2012
@@ -76,7 +76,12 @@ public class TIFFRendererConfigurator ex
}
}
- /** {@inheritDoc} */
+ private boolean isSingleStrip(TIFFRendererConfig config) {
+ Boolean singleRowPerStrip = config.isSingleStrip();
+ return singleRowPerStrip == null ? false : singleRowPerStrip;
+ }
+
+ @Override
public void configure(IFDocumentHandler documentHandler) throws
FOPException {
final TIFFRendererConfig config = (TIFFRendererConfig)
getRendererConfig(documentHandler);
if (config != null) {
@@ -84,6 +89,7 @@ public class TIFFRendererConfigurator ex
BitmapRenderingSettings settings = tiffHandler.getSettings();
configure(documentHandler, settings, new
TIFFRendererConfigParser());
setCompressionMethod(config.getCompressionType(), settings);
+ settings.getWriterParams().setSingleStrip(isSingleStrip(config));
}
}
Modified: xmlgraphics/fop/trunk/status.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Thu Sep 13 12:45:27 2012
@@ -62,6 +62,11 @@
documents. Example: the fix of marks layering will be such a case when
it's done.
-->
<release version="FOP Trunk" date="TBD">
+ <action context="Renderers" dev="PH" type="add" fixes-bug="53865"
importance="low">
+ Added configuration for RowPerStrip configuration in the Tiff renderer.
+ RowsPerStrip can be configured to 1 or to the total # of rows.
+ See docs for fop.xconf configuration details.
+ </action>
<action context="Layout" dev="VH" type="fix" fixes-bug="53598"
due-to="Robert Meyer">
Always set the breakClass field to a legal value in BreakElement, so
as to avoid
IllegalArgumentExceptions in other parts of the code.
Modified:
xmlgraphics/fop/trunk/test/java/org/apache/fop/apps/TIFFRendererConfBuilder.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/apps/TIFFRendererConfBuilder.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/java/org/apache/fop/apps/TIFFRendererConfBuilder.java
(original)
+++
xmlgraphics/fop/trunk/test/java/org/apache/fop/apps/TIFFRendererConfBuilder.java
Thu Sep 13 12:45:27 2012
@@ -20,7 +20,7 @@
package org.apache.fop.apps;
import static
org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererOption.COMPRESSION;
-
+import static
org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererOption.SINGLE_STRIP;
public class TIFFRendererConfBuilder extends BitmapRendererConfBuilder {
public TIFFRendererConfBuilder() {
@@ -31,4 +31,9 @@ public class TIFFRendererConfBuilder ext
createTextElement(COMPRESSION, mode);
return this;
}
+
+ public TIFFRendererConfBuilder setSingleStrip(boolean single) {
+ createTextElement(SINGLE_STRIP, String.valueOf(single));
+ return this;
+ }
}
Modified:
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfigParserTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfigParserTestCase.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfigParserTestCase.java
(original)
+++
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfigParserTestCase.java
Thu Sep 13 12:45:27 2012
@@ -26,9 +26,11 @@ import org.apache.fop.apps.TIFFRendererC
import
org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class TIFFRendererConfigParserTestCase
- extends AbstractBitmapRendererConfigParserTester {
+extends AbstractBitmapRendererConfigParserTester {
public TIFFRendererConfigParserTestCase() {
super(new TIFFRendererConfigParser());
@@ -52,4 +54,12 @@ public class TIFFRendererConfigParserTes
assertEquals(value, getConfig().getCompressionType());
}
}
+
+ @Test
+ public void testSingleStrip() throws Exception {
+ parseConfig(createRenderer().setSingleStrip(true));
+ assertTrue(getConfig().isSingleStrip());
+ parseConfig(createRenderer().setSingleStrip(false));
+ assertFalse(getConfig().isSingleStrip());
+ }
}
Modified:
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfiguratorTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfiguratorTestCase.java?rev=1384310&r1=1384309&r2=1384310&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfiguratorTestCase.java
(original)
+++
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/bitmap/TIFFRendererConfiguratorTestCase.java
Thu Sep 13 12:45:27 2012
@@ -23,7 +23,6 @@ import java.awt.image.BufferedImage;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
import org.apache.fop.apps.FopConfBuilder;
import org.apache.fop.apps.MimeConstants;
@@ -32,6 +31,9 @@ import org.apache.fop.render.bitmap.TIFF
import static org.apache.fop.render.bitmap.TIFFCompressionValue.CCITT_T4;
import static org.apache.fop.render.bitmap.TIFFCompressionValue.CCITT_T6;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class TIFFRendererConfiguratorTestCase extends
AbstractBitmapRendererConfiguratorTest {
@@ -61,4 +63,13 @@ public class TIFFRendererConfiguratorTes
}
}
}
+
+ @Test
+ public void testSingleStrip() throws Exception {
+ parseConfig(createBuilder().setSingleStrip(true));
+ assertTrue(settings.getWriterParams().isSingleStrip());
+ parseConfig(createBuilder().setSingleStrip(false));
+ assertFalse(settings.getWriterParams().isSingleStrip());
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]