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 ac...@apache.org on 2008/03/27 17:16:38 UTC

svn commit: r641873 [1/5] - in /xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop: image/ render/afp/ render/afp/extensions/ render/afp/modca/ render/afp/modca/triplets/ render/pdf/ render/ps/extensions/

Author: acumiskey
Date: Thu Mar 27 09:16:30 2008
New Revision: 641873

URL: http://svn.apache.org/viewvc?rev=641873&view=rev
Log:
Committing in preparation for trunk merge.

Added:
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/DataObjectParameters.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/ImageObjectParameters.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/ResourceLevel.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPExtensionAttachment.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractPreparedAFPObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractResourceEnvironmentGroupContainer.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractResourceGroupContainer.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/MapDataResource.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/PageSegment.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/PreprocessPresentationObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/Registry.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ResourceEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ResourceObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/FullyQualifiedNameTriplet.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/MeasurementUnitsTriplet.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/ObjectAreaSizeTriplet.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/ObjectClassificationTriplet.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/ResourceObjectTypeTriplet.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/triplets/Triplet.java
Modified:
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/AbstractFopImage.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/FopImage.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2D.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2DAdapter.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPInfo.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRenderer.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPSVGHandler.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPState.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPAttribute.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPElement.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AFPPageSetupElement.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/extensions/AbstractAFPExtensionObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AFPDataStream.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractAFPObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractDataObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractNamedAFPObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractPageObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/AbstractStructuredAFPObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ActiveEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/Document.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/GraphicsObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/IMImageObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ImageContent.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ImageSegment.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/IncludeObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/IncludePageOverlay.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/IncludePageSegment.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/InvokeMediumMap.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/MapCodedFont.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/MapPageOverlay.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ObjectAreaPosition.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ObjectEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/Overlay.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/PageGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/PageObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/PresentationTextObject.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/modca/ResourceGroup.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/pdf/PDFRenderer.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/extensions/PSCommentAfterElement.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/extensions/PSCommentBeforeElement.java
    xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/ps/extensions/PSExtensionElementMapping.java

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/AbstractFopImage.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/AbstractFopImage.java?rev=641873&r1=641872&r2=641873&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/AbstractFopImage.java (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/AbstractFopImage.java Thu Mar 27 09:16:30 2008
@@ -360,7 +360,7 @@
      * Return the original image data (compressed).
      * @return the original image data
      */
-    public byte[] getRessourceBytes() {
+    public byte[] getResourceBytes() {
         return raw;
     }
 
@@ -368,7 +368,7 @@
      * Return the original image data size (compressed).
      * @return the original image data size
      */
-    public int getRessourceBytesSize() {
+    public int getResourceBytesSize() {
         return (raw != null ? raw.length : 0);
     }
 

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/FopImage.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/FopImage.java?rev=641873&r1=641872&r2=641873&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/FopImage.java (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/image/FopImage.java Thu Mar 27 09:16:30 2008
@@ -168,13 +168,13 @@
      * Returns the encoded/compressed image as an array of bytes.
      * @return the raw image
      */
-    byte[] getRessourceBytes();
+    byte[] getResourceBytes();
 
     /**
      * Returns the number of bytes of the raw image.
      * @return the size in bytes
      */
-    int getRessourceBytesSize();
+    int getResourceBytesSize();
 
     /**
      * Image info class.

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2D.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2D.java?rev=641873&r1=641872&r2=641873&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2D.java (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2D.java Thu Mar 27 09:16:30 2008
@@ -44,14 +44,14 @@
 import org.apache.commons.io.output.ByteArrayOutputStream;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.render.afp.modca.AFPDataStream;
+import org.apache.fop.render.afp.goca.GraphicsSetLineType;
 import org.apache.fop.render.afp.modca.GraphicsObject;
-import org.apache.fop.render.afp.modca.ImageObject;
-import org.apache.fop.render.afp.modca.goca.GraphicsSetLineType;
+import org.apache.fop.render.afp.modca.IncludeObject;
 import org.apache.xmlgraphics.java2d.AbstractGraphics2D;
 import org.apache.xmlgraphics.java2d.GraphicContext;
 import org.apache.xmlgraphics.java2d.StrokingTextHandler;
 import org.apache.xmlgraphics.java2d.TextHandler;
+import org.apache.xmlgraphics.ps.ImageEncodingHelper;
 
 /**
  * This is a concrete implementation of <tt>AbstractGraphics2D</tt> (and
@@ -78,6 +78,9 @@
     /** Current AFP state */
     private AFPState afpState = null;
 
+    /** The SVG document URI */
+    private String documentURI = null;
+
     /**
      * @param textAsShapes
      *            if true, all text is turned into shapes in the convertion. No
@@ -295,7 +298,7 @@
             graphicsObj.addBox(coords);
         } else if (shape instanceof Ellipse2D) {
             Ellipse2D elip = (Ellipse2D) shape;
-            final double factor = afpInfo.resolution / 100f;
+            final double factor = afpInfo.getResolution() / 100f;
             graphicsObj.setArcParams(
                     (int)Math.round(elip.getWidth() * factor),
                     (int)Math.round(elip.getHeight() * factor),
@@ -345,26 +348,13 @@
      */
     public void handleIOException(IOException ioe) {
         // TODO Surely, there's a better way to do this.
+        log.error(ioe.getMessage());
         ioe.printStackTrace();
     }
 
     /**
      * {@inheritDoc}
      */
-    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
-        log.debug("drawRenderableImage() NYI: img=" + img + ", xform=" + xform);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
-        log.debug("drawRenderedImage() NYI: img=" + img + ", xform=" + xform);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
     public void drawString(String s, float x, float y) {
         try {
             if (customTextHandler != null && !textAsShapes) {
@@ -402,7 +392,7 @@
      * {@inheritDoc}
      */
     public void dispose() {
-        log.debug("dispose() NYI: ");
+        this.graphicsObj = null;
     }
 
     /**
@@ -411,54 +401,62 @@
     public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
         return drawImage(img, x, y, img.getWidth(observer), img.getHeight(observer), observer);
     }
-
+    
     /**
      * {@inheritDoc}
      */
     public boolean drawImage(Image img, int x, int y, int width, int height,
             ImageObserver observer) {
-        log.debug("drawImage() img=" + img + ", x=" + x + ", y=" + y
+        //TODO: this might be achieved by creating a new IOCA image (ImageObject)
+        // and placing it in an Overlay - but then stacking order would not be preserved.
+        log.debug("drawImage(): NYI img=" + img + ", x=" + x + ", y=" + y
                 + ", width=" + width + ", height=" + height + ", obs=" + observer);
-        
-        int afpres = afpInfo.resolution;
-        int afpBitsPerPixel = afpInfo.bitsPerPixel;
-        int afpx = x;
-        int afpy = y;
-        int afpw = width;
-        int afph = height;
-        boolean colorImages = !afpInfo.grayscale;
-        int imageResolution = afpres;
-        if (img instanceof BufferedImage) {
-            BufferedImage bi = (BufferedImage)img;
-            ByteArrayOutputStream baout = new ByteArrayOutputStream();
-            try {
-                // Serialize image
-                AFPRenderer.writeImage(bi, baout);
-                byte[] buf = baout.toByteArray();
-
-                // Generate image
-                AFPDataStream afpDataStream = afpInfo.afpDataStream;
-                ImageObject io = afpDataStream.getImageObject(afpx, afpy, afpw,
-                    afph, afpres, afpres);
-                io.setImageParameters(imageResolution, imageResolution,
-                    afpw, afph);
-                if (colorImages) {
-                    io.setImageIDESize((byte)24);
-                    io.setImageData(buf);
-                } else {
-                    AFPRenderer.convertToGrayScaleImage(io, buf, afpw, afph, afpBitsPerPixel);
-                }
-            } catch (IOException ioe) {
-                log.error("Error while serializing bitmap: " + ioe.getMessage(),
-                    ioe);
-                return false;
-            }
-            return true;
-        } else {
-            log.debug("drawImage() NYI: img=" + img + ", x=" + x + ", y=" + y
-                    + ", observer=" + observer);
-        }
         return false;
+//        log.debug("drawImage() img=" + img + ", x=" + x + ", y=" + y
+//                + ", width=" + width + ", height=" + height + ", obs=" + observer);
+//        if (img instanceof BufferedImage) {
+//            try {
+//                BufferedImage bi = (BufferedImage)img;
+//                ByteArrayOutputStream baout = new ByteArrayOutputStream();
+//                
+//                // Serialize image
+//                ImageEncodingHelper.encodeRenderedImageAsRGB(bi, baout);
+//                
+//                int res = afpInfo.getResolution();
+//                ImageObjectParameters params = new ImageObjectParameters(
+//                        //TODO: provide a real url
+//                        img.toString(), x, y,
+//                        width, height, res, res, baout.toByteArray(),
+//                        img.getWidth(observer), img.getHeight(observer), 
+//                        afpInfo.isColorSupported(), afpInfo.getBitsPerPixel());
+//                
+//                afpInfo.getAFPDataStream().createImageObject(params);
+//
+//                // Generate image
+//            } catch (IOException ioe) {
+//                log.error("Error while serializing bitmap: " + ioe.getMessage(),
+//                    ioe);
+//                return false;
+//            }
+//            return true;
+//        } else {
+//            log.debug("drawImage() image type not supported: " + img);
+//        }
+//        return false;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
+        log.debug("drawRenderableImage() NYI: img=" + img + ", xform=" + xform);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
+        log.debug("drawRenderedImage() NYI: img=" + img + ", xform=" + xform);
     }
 
     /**
@@ -489,18 +487,39 @@
     }
 
     /**
+     * Sets the SVG document URI
+     * @param documentURI the SVG document URI
+     */
+    public void setDocumentURI(String documentURI) {
+        this.documentURI = documentURI;
+    }
+
+    /**
      * @return the GOCA graphics object
      */
     protected GraphicsObject getGraphicsObject() {
-        if (this.graphicsObj == null) {
-            int x = (int)Math.round((afpInfo.currentXPosition * 25.4f) / 1000);
-            int y = (int)Math.round((afpInfo.currentYPosition * 25.4f) / 1000);
-            int res = afpInfo.resolution;
-            int width = (int)Math.round((afpInfo.width * res) / 72000f);
-            int height = (int)Math.round((afpInfo.height * res) / 72000f);
-            this.graphicsObj = afpInfo.getAFPDataStream().getGraphicsObject(
-                    x, y, width, height, res, res);
-        }
+//        if (this.graphicsObj == null) {
+////          DataObjectParameters params = new DataObjectParameters(
+////          ((AbstractDocument)doc).getDocumentURI(),
+////          afpInfo.getX(), afpInfo.getY(),
+////          afpInfo.getWidth(), afpInfo.getHeight(), res, res);
+////  
+////  afpInfo.getAFPDataStream().createGraphicsObject(params);
+//
+//            int x = (int)Math.round((afpInfo.getX() * 25.4f) / 1000);
+//            int y = (int)Math.round((afpInfo.getY() * 25.4f) / 1000);
+//            int res = afpInfo.getResolution();
+//            int width = (int)Math.round((afpInfo.getWidth() * res) / 72000f);
+//            int height = (int)Math.round((afpInfo.getHeight() * res) / 72000f);
+//            DataObjectParameters params = new DataObjectParameters(
+//                    this.documentURI, x, y, width, height, res, res);
+//            IncludeObject includeObj = afpInfo.getAFPDataStream().createGraphicsObject(params);
+//            this.graphicsObj = (GraphicsObject)includeObj.getReferencedObject();
+//        }
         return this.graphicsObj;
+    }
+
+    protected void setGraphicsObject(GraphicsObject graphicsObj) {
+        this.graphicsObj = graphicsObj;
     }
 }

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2DAdapter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2DAdapter.java?rev=641873&r1=641872&r2=641873&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2DAdapter.java (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPGraphics2DAdapter.java Thu Mar 27 09:16:30 2008
@@ -51,8 +51,11 @@
         //Paint to a BufferedImage
         int resolution = (int)Math.round(context.getUserAgent().getTargetResolution());
         BufferedImage bi = paintToBufferedImage(painter, wrappedContext, resolution, gray, false);
-
-        afp.drawBufferedImage(bi, resolution, x, y, width, height);
+        
+        //TODO: uri
+        String uri = null;
+        java.util.Map foreignAttributes = null;
+        afp.drawBufferedImage(uri, bi, resolution, x, y, width, height, foreignAttributes);
     }
 
 }

Modified: xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPInfo.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPInfo.java?rev=641873&r1=641872&r2=641873&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPInfo.java (original)
+++ xmlgraphics/fop/branches/Temp_AFPGOCAResources/src/java/org/apache/fop/render/afp/AFPInfo.java Thu Mar 27 09:16:30 2008
@@ -28,28 +28,28 @@
  */
 public final class AFPInfo {
     /** see WIDTH */
-    protected int width;
+    private int width;
     /** see HEIGHT */
-    protected int height;
+    private int height;
     /** see XPOS */
-    protected int currentXPosition;
+    private int x;
     /** see YPOS */
-    protected int currentYPosition;
+    private int y;
     /** see HANDLER_CONFIGURATION */
-    protected Configuration cfg;
+    private Configuration cfg;
 
     /** see AFP_FONT_INFO */
-    protected FontInfo fontInfo;
+    private FontInfo fontInfo;
     /** See AFP_DATASTREAM */
-    protected AFPDataStream afpDataStream;
+    private AFPDataStream afpDataStream;
     /** See AFP_STATE */
-    protected AFPState afpState;
+    private AFPState afpState;
     /** see AFP_GRAYSCALE */
-    protected boolean grayscale;
+    private boolean color;
     /** see AFP_RESOLUTION */
-    protected int resolution;
+    private int resolution;
     /** see AFP_BITS_PER_PIXEL */
-    protected int bitsPerPixel;
+    private int bitsPerPixel;
 
     /**
      * Returns the width.
@@ -91,6 +91,14 @@
     }
 
     /**
+     * Sets the handler configuration
+     * @param cfg the handler configuration
+     */
+    public void setHandlerConfiguration(Configuration cfg) {
+        this.cfg = cfg;
+    }
+    
+    /**
      * @return FontInfo the font info
      */
     public FontInfo getFontInfo() {
@@ -115,6 +123,98 @@
      * @return true if supports color
      */
     public boolean isColorSupported() {
-        return !this.grayscale;
+        return this.color;
+    }
+
+    /**
+     * @return the current x position coordinate
+     */
+    protected int getX() {
+        return x;
+    }
+
+    /**
+     * @return the current y position coordinate
+     */
+    protected int getY() {
+        return y;
+    }
+
+    /**
+     * @return the resolution
+     */
+    protected int getResolution() {
+        return resolution;
+    }
+
+    /**
+     * @return the number of bits per pixel to use
+     */
+    protected int getBitsPerPixel() {
+        return bitsPerPixel;
+    }
+
+    /**
+     * Sets the current x position coordinate
+     * @param x the current x position coordinate
+     */
+    protected void setX(int x) {
+        this.x = x;
+    }
+
+    /**
+     * Sets the current y position coordinate
+     * @param y the current y position coordinate
+     */
+    protected void setY(int y) {
+        this.y = y;
+    }
+
+    /**
+     * Sets the current resolution
+     * @param resolution the current resolution
+     */
+    protected void setResolution(int resolution) {
+        this.resolution = resolution;
+    }
+
+    /**
+     * Sets the current font info
+     * @param fontInfo the current font info
+     */
+    protected void setFontInfo(FontInfo fontInfo) {
+        this.fontInfo = fontInfo;
+    }
+
+    /**
+     * Sets the AFP state
+     * @param state the AFP state
+     */
+    public void setState(AFPState state) {
+        this.afpState = state;
+    }
+    
+    /**
+     * Sets the AFP datastream
+     * @param afpDataStream the AFP datastream
+     */
+    public void setAFPDataStream(AFPDataStream afpDataStream) {
+        this.afpDataStream = afpDataStream;
+    }
+
+    /**
+     * Sets if we are supporing color 
+     * @param color true if color is supported
+     */
+    public void setColor(boolean color) {
+        this.color = color;
+    }
+
+    /**
+     * Sets the number of bits per pixel
+     * @param bitsPerPixel the number of bits per pixel 
+     */
+    public void setBitsPerPixel(int bitsPerPixel) {
+        this.bitsPerPixel = bitsPerPixel;
     }
 }



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