Author: jeremias
Date: Mon Oct 20 08:11:08 2008
New Revision: 706319

URL: http://svn.apache.org/viewvc?rev=706319&view=rev
Log:
Bugzilla #45956:
Minimal support for leader-pattern="rule" for PCL output.

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pcl/PCLRenderer.java

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pcl/PCLRenderer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pcl/PCLRenderer.java?rev=706319&r1=706318&r2=706319&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pcl/PCLRenderer.java 
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pcl/PCLRenderer.java 
Mon Oct 20 08:11:08 2008
@@ -59,6 +59,7 @@
 import org.apache.xmlgraphics.java2d.GraphicContext;
 import org.apache.xmlgraphics.java2d.Graphics2DImagePainter;
 import org.apache.xmlgraphics.util.QName;
+import org.apache.xmlgraphics.util.UnitConv;
 
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.MimeConstants;
@@ -74,6 +75,7 @@
 import org.apache.fop.area.inline.ForeignObject;
 import org.apache.fop.area.inline.Image;
 import org.apache.fop.area.inline.InlineArea;
+import org.apache.fop.area.inline.Leader;
 import org.apache.fop.area.inline.SpaceArea;
 import org.apache.fop.area.inline.TextArea;
 import org.apache.fop.area.inline.Viewport;
@@ -97,7 +99,6 @@
 import org.apache.fop.render.java2d.Java2DRenderer;
 import org.apache.fop.render.pcl.extensions.PCLElementMapping;
 import org.apache.fop.traits.BorderProps;
-import org.apache.xmlgraphics.util.UnitConv;
 
 /* Note:
  * There are some commonalities with AbstractPathOrientedRenderer but it's not 
possible
@@ -1658,6 +1659,37 @@
         }
     }
 
+    /** [EMAIL PROTECTED] */
+    public void renderLeader(Leader area) {
+        renderInlineAreaBackAndBorders(area);
+
+        saveGraphicsState();
+        int style = area.getRuleStyle();
+        float startx = (currentIPPosition + 
area.getBorderAndPaddingWidthStart()) / 1000f;
+        float starty = (currentBPPosition + area.getOffset()) / 1000f;
+        float endx = (currentIPPosition + area.getBorderAndPaddingWidthStart()
+                        + area.getIPD()) / 1000f;
+        float ruleThickness = area.getRuleThickness() / 1000f;
+        Color col = (Color)area.getTrait(Trait.COLOR);
+
+        switch (style) {
+            case EN_SOLID:
+            case EN_DASHED: //TODO Improve me and following (this is just a 
quick-fix ATM)
+            case EN_DOUBLE:
+            case EN_DOTTED:
+            case EN_GROOVE:
+            case EN_RIDGE:
+                updateFillColor(col);
+                fillRect(startx, starty, endx - startx, ruleThickness);
+                break;
+            default:
+                throw new UnsupportedOperationException("rule style not 
supported");
+        }
+
+        restoreGraphicsState();
+        super.renderLeader(area);
+    }
+
     /**
      * Controls whether all text should be generated as bitmaps or only text 
for which there's
      * no native font.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to