You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2009/10/13 17:34:30 UTC

svn commit: r824808 - in /xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render: intermediate/ pdf/

Author: vhennebert
Date: Tue Oct 13 15:34:29 2009
New Revision: 824808

URL: http://svn.apache.org/viewvc?rev=824808&view=rev
Log:
Bugfix: render all background images as artifacts

Modified:
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/intermediate/IFContext.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRawJPEG.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRenderedImage.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFPainter.java
    xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFRenderingContext.java

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/intermediate/IFContext.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/intermediate/IFContext.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/intermediate/IFContext.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/intermediate/IFContext.java Tue Oct 13 15:34:29 2009
@@ -155,13 +155,4 @@
         return this.structurePointer;
     }
 
-    /**
-     * Indicates whether a structure pointer is available.
-     * @return true if there's a structure pointer
-     * @see #setStructurePointer(String)
-     */
-    public boolean hasStructurePointer() {
-        return (this.structurePointer != null) && (structurePointer.length() > 0);
-    }
-
 }

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java Tue Oct 13 15:34:29 2009
@@ -229,16 +229,6 @@
         textutil.beginTextObject();
     }
 
-    /**
-     * used for accessibility
-     * separates a text element from fo:leader text element
-     */
-    public void separateTextElementFromLeader() {
-        if (!inArtifactMode) {
-            separateTextElements(null, 0);
-        }
-    }
-
     /** Indicates the beginning of a text object. */
     protected void beginTextObject() {
         if (!textutil.isInTextObject()) {

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRawJPEG.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRawJPEG.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRawJPEG.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRawJPEG.java Tue Oct 13 15:34:29 2009
@@ -34,6 +34,7 @@
 import org.apache.fop.render.ImageHandler;
 import org.apache.fop.render.RendererContext;
 import org.apache.fop.render.RenderingContext;
+import org.apache.fop.render.pdf.PDFLogicalStructureHandler.MarkedContentInfo;
 
 /**
  * Image handler implementation which handles raw JPEG images for PDF output.
@@ -83,13 +84,8 @@
         float w = (float)pos.getWidth() / 1000f;
         float h = (float)pos.getHeight() / 1000f;
         if (context.getUserAgent().isAccessibilityEnabled()) {
-            String structElemType = pdfContext.getStructElemType();
-            if (structElemType != null && structElemType.length() > 0) {
-                int sequenceNum = pdfContext.getSequenceNum();
-                generator.placeImage(x, y, w, h, xobj, structElemType, sequenceNum);
-            } else {
-                generator.placeImage(x, y, w, h, xobj);
-            }
+            MarkedContentInfo mci = pdfContext.getMarkedContentInfo();
+            generator.placeImage(x, y, w, h, xobj, mci.tag, mci.mcid);
         } else {
             generator.placeImage(x, y, w, h, xobj);
         }

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRenderedImage.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRenderedImage.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRenderedImage.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerRenderedImage.java Tue Oct 13 15:34:29 2009
@@ -34,6 +34,7 @@
 import org.apache.fop.render.ImageHandler;
 import org.apache.fop.render.RendererContext;
 import org.apache.fop.render.RenderingContext;
+import org.apache.fop.render.pdf.PDFLogicalStructureHandler.MarkedContentInfo;
 
 /**
  * Image handler implementation which handles RenderedImage instances for PDF output.
@@ -84,9 +85,8 @@
         float w = (float)pos.getWidth() / 1000f;
         float h = (float)pos.getHeight() / 1000f;
         if (context.getUserAgent().isAccessibilityEnabled()) {
-            String structElemType = pdfContext.getStructElemType();
-            int sequenceNum = pdfContext.getSequenceNum();
-            generator.placeImage(x, y, w, h, xobj, structElemType, sequenceNum);
+            MarkedContentInfo mci = pdfContext.getMarkedContentInfo();
+            generator.placeImage(x, y, w, h, xobj, mci.tag, mci.mcid);
         } else {
             generator.placeImage(x, y, w, h, xobj);
         }

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFImageHandlerSVG.java Tue Oct 13 15:34:29 2009
@@ -40,6 +40,7 @@
 import org.apache.fop.image.loader.batik.BatikImageFlavors;
 import org.apache.fop.render.ImageHandler;
 import org.apache.fop.render.RenderingContext;
+import org.apache.fop.render.pdf.PDFLogicalStructureHandler.MarkedContentInfo;
 import org.apache.fop.svg.PDFAElementBridge;
 import org.apache.fop.svg.PDFBridgeContext;
 import org.apache.fop.svg.PDFGraphics2D;
@@ -122,9 +123,8 @@
         generator.comment("SVG setup");
         generator.saveGraphicsState();
         if (context.getUserAgent().isAccessibilityEnabled()) {
-            String structElemType = pdfContext.getStructElemType();
-            int sequenceNum = pdfContext.getSequenceNum();
-            generator.beginMarkedContentSequence(structElemType, sequenceNum);
+            MarkedContentInfo mci = pdfContext.getMarkedContentInfo();
+            generator.beginMarkedContentSequence(mci.tag, mci.mcid);
         }
         generator.setColor(Color.black, false);
         generator.setColor(Color.black, true);

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFPainter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFPainter.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFPainter.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFPainter.java Tue Oct 13 15:34:29 2009
@@ -131,7 +131,7 @@
             throws IFException {
         PDFXObject xobject = getPDFDoc().getXObject(uri);
         if (xobject != null) {
-            if (accessEnabled && getContext().hasStructurePointer()) {
+            if (accessEnabled) {
                 String ptr = getContext().getStructurePointer();
                 prepareImageMCID(ptr);
                 placeImageAccess(rect, xobject);
@@ -139,7 +139,7 @@
                 placeImage(rect, xobject);
             }
         } else {
-            if (accessEnabled && getContext().hasStructurePointer()) {
+            if (accessEnabled) {
                 String ptr = getContext().getStructurePointer();
                 prepareImageMCID(ptr);
             }
@@ -156,8 +156,7 @@
     protected RenderingContext createRenderingContext() {
         PDFRenderingContext pdfContext = new PDFRenderingContext(
                 getUserAgent(), generator, this.documentHandler.currentPage, getFontInfo());
-        pdfContext.setMCID(imageMCI.mcid);
-        pdfContext.setStructElemType(imageMCI.tag);
+        pdfContext.setMarkedContentInfo(imageMCI);
         return pdfContext;
     }
 
@@ -198,7 +197,7 @@
 
     /** {@inheritDoc} */
     public void drawImage(Document doc, Rectangle rect) throws IFException {
-        if (accessEnabled && getContext().hasStructurePointer()) {
+        if (accessEnabled) {
             String ptr = getContext().getStructurePointer();
             prepareImageMCID(ptr);
         }
@@ -298,22 +297,12 @@
             throws IFException {
         if (accessEnabled) {
             String ptr = getContext().getStructurePointer();
-            if (ptr != null && ptr.length() > 0) {
-                MarkedContentInfo mci = logicalStructureHandler.addTextContentItem(ptr);
-                if (generator.getTextUtil().isInTextObject()) {
-                    generator.separateTextElements(mci.tag, mci.mcid);
-                }
-                generator.updateColor(state.getTextColor(), true, null);
-                generator.beginTextObjectAccess(mci.tag, mci.mcid);
-            } else {
-                // <fo:leader leader-pattern="use-content">
-                // Leader content is marked as "/Artifact"
-                if (generator.getTextUtil().isInTextObject()) {
-                    generator.separateTextElementFromLeader();
-                }
-                generator.updateColor(state.getTextColor(), true, null);
-                generator.beginLeaderTextObject();
+            MarkedContentInfo mci = logicalStructureHandler.addTextContentItem(ptr);
+            if (generator.getTextUtil().isInTextObject()) {
+                generator.separateTextElements(mci.tag, mci.mcid);
             }
+            generator.updateColor(state.getTextColor(), true, null);
+            generator.beginTextObjectAccess(mci.tag, mci.mcid);
         } else {
             generator.updateColor(state.getTextColor(), true, null);
             generator.beginTextObject();

Modified: xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFRenderingContext.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFRenderingContext.java?rev=824808&r1=824807&r2=824808&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFRenderingContext.java (original)
+++ xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/render/pdf/PDFRenderingContext.java Tue Oct 13 15:34:29 2009
@@ -25,6 +25,7 @@
 import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.pdf.PDFPage;
 import org.apache.fop.render.AbstractRenderingContext;
+import org.apache.fop.render.pdf.PDFLogicalStructureHandler.MarkedContentInfo;
 
 /**
  * Rendering context for PDF production.
@@ -34,11 +35,7 @@
     private PDFContentGenerator generator;
     private FontInfo fontInfo;
     private PDFPage page;
-    /** Temp. val. for accessibility, used in PDFImageHandlerRenderedImage */
-    private String structElemType = "";
-
-    /** Temp. val. for accessibility, used in PDFImageHandlerRenderedImage */
-    private int mcid = -1;
+    private MarkedContentInfo mci;
 
     /**
      * Main constructor.
@@ -84,35 +81,11 @@
         return this.fontInfo;
     }
 
-    /**
-     * Used for accessibility, used in PDFPainter.drawImage
-     * @param value to be stored
-     */
-    public void setMCID(int value) {
-        mcid = value;
-    }
-
-    /**
-     * Used for accessibility
-     * @return mcid
-     */
-    public int getSequenceNum() {
-        return mcid;
+    void setMarkedContentInfo(MarkedContentInfo mci) {
+        this.mci = mci;
     }
 
-    /**
-     * Used for accessibility
-     * @param s the type of the structure element
-     */
-    public void setStructElemType(String s) {
-        structElemType = s;
-    }
-
-    /**
-     * Used for accessibility
-     * @return the type of the structure element
-     */
-    public String getStructElemType() {
-        return structElemType;
+    MarkedContentInfo getMarkedContentInfo() {
+        return mci;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org