diff options
author | Jeremias Maerki <jeremias@apache.org> | 2008-10-20 15:11:08 +0000 |
---|---|---|
committer | Jeremias Maerki <jeremias@apache.org> | 2008-10-20 15:11:08 +0000 |
commit | e157058f724241cee23ad406fb2fd3707a4efac3 (patch) | |
tree | 461773072eb002129d49fba927f109e40e7825ec /src/java | |
parent | 6fc86a336ca80ed240cb2e7df853a311778fdd3b (diff) | |
download | xmlgraphics-fop-e157058f724241cee23ad406fb2fd3707a4efac3.tar.gz xmlgraphics-fop-e157058f724241cee23ad406fb2fd3707a4efac3.zip |
Bugzilla #45956:
Minimal support for leader-pattern="rule" for PCL output.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@706319 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r-- | src/java/org/apache/fop/render/pcl/PCLRenderer.java | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/render/pcl/PCLRenderer.java b/src/java/org/apache/fop/render/pcl/PCLRenderer.java index 5896ad318..5aad34391 100644 --- a/src/java/org/apache/fop/render/pcl/PCLRenderer.java +++ b/src/java/org/apache/fop/render/pcl/PCLRenderer.java @@ -59,6 +59,7 @@ import org.apache.xmlgraphics.image.loader.util.ImageUtil; 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.AbstractTextArea; 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.InstalledFontCollection; 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 @@ public class PCLRenderer extends PrintRenderer { } } + /** {@inheritDoc} */ + 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. |