You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by da...@apache.org on 2010/04/07 18:39:33 UTC
svn commit: r931616 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: pdfviewer/
util/operator/pagedrawer/
Author: danielwilson
Date: Wed Apr 7 16:39:33 2010
New Revision: 931616
URL: http://svn.apache.org/viewvc?rev=931616&view=rev
Log:
Refactor for the sake of those who inherit from PageDrawer.
When crossing into .Net graphics, calls to ((PageDrawer)context).getGraphics() cannot be expected to return a Java Graphics2D object.
IMO, we shouldn't be calling for the PageDrawer's graphics anyway. So I have abstracted the attempt to get to the Stroke so that it can be overriden ... and the graphics object isn't handled directly, at least in these cases.
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineCapStyle.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineDashPattern.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineJoinStyle.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineMiterLimit.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineWidth.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/StrokePath.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java Wed Apr 7 16:39:33 2010
@@ -293,6 +293,17 @@ public class PageDrawer extends PDFStrea
}
/**
+ * This will return the current stroke.
+ *
+ * @return The current stroke.
+ *
+ */
+ public BasicStroke getStroke()
+ {
+ return (BasicStroke)getGraphics().getStroke();
+ }
+
+ /**
* Stroke the path.
*
* @throws IOException If there is an IO error while stroking the path.
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineCapStyle.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineCapStyle.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineCapStyle.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineCapStyle.java Wed Apr 7 16:39:33 2010
@@ -46,15 +46,15 @@ public class SetLineCapStyle extends org
{
super.process( operator, arguments );
int lineCapStyle = context.getGraphicsState().getLineCap();
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+ PageDrawer drawer = (PageDrawer)context;
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
- graphics.setStroke( new BasicStroke(1,lineCapStyle,BasicStroke.JOIN_MITER) );
+ drawer.setStroke( new BasicStroke(1,lineCapStyle,BasicStroke.JOIN_MITER) );
}
else
{
- graphics.setStroke( new BasicStroke(stroke.getLineWidth(), lineCapStyle, stroke.getLineJoin(),
+ drawer.setStroke( new BasicStroke(stroke.getLineWidth(), lineCapStyle, stroke.getLineJoin(),
stroke.getMiterLimit(), stroke.getDashArray(), stroke.getDashPhase()));
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineDashPattern.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineDashPattern.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineDashPattern.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineDashPattern.java Wed Apr 7 16:39:33 2010
@@ -47,17 +47,17 @@ public class SetLineDashPattern extends
{
super.process( operator, arguments );
PDLineDashPattern lineDashPattern = context.getGraphicsState().getLineDashPattern();
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+ PageDrawer drawer = (PageDrawer)context;
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
if (lineDashPattern.isDashPatternEmpty())
{
- graphics.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f) );
+ drawer.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f) );
}
else
{
- graphics.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f,
+ drawer.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f,
lineDashPattern.getCOSDashPattern().toFloatArray(), lineDashPattern.getPhaseStart()) );
}
}
@@ -65,12 +65,12 @@ public class SetLineDashPattern extends
{
if (lineDashPattern.isDashPatternEmpty())
{
- graphics.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(),
+ drawer.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(),
stroke.getLineJoin(), stroke.getMiterLimit()) );
}
else
{
- graphics.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), stroke.getLineJoin(),
+ drawer.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), stroke.getLineJoin(),
stroke.getMiterLimit(), lineDashPattern.getCOSDashPattern().toFloatArray(),
lineDashPattern.getPhaseStart()) );
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineJoinStyle.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineJoinStyle.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineJoinStyle.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineJoinStyle.java Wed Apr 7 16:39:33 2010
@@ -46,15 +46,15 @@ public class SetLineJoinStyle extends or
{
super.process( operator, arguments );
int lineJoinStyle = context.getGraphicsState().getLineJoin();
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+ PageDrawer drawer = (PageDrawer)context;
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
- graphics.setStroke( new BasicStroke(1,BasicStroke.CAP_SQUARE,lineJoinStyle) );
+ drawer.setStroke( new BasicStroke(1,BasicStroke.CAP_SQUARE,lineJoinStyle) );
}
else
{
- graphics.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), lineJoinStyle,
+ drawer.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), lineJoinStyle,
stroke.getMiterLimit(), stroke.getDashArray(), stroke.getDashPhase()) );
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineMiterLimit.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineMiterLimit.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineMiterLimit.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineMiterLimit.java Wed Apr 7 16:39:33 2010
@@ -45,16 +45,16 @@ public class SetLineMiterLimit extends o
{
super.process(operator, arguments);
float miterLimit = (float)context.getGraphicsState().getMiterLimit();
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+ PageDrawer drawer = (PageDrawer)context;
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
- graphics.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
+ drawer.setStroke(new BasicStroke(1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
miterLimit, null, 0.0f));
}
else
{
- graphics.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), stroke.getLineJoin(),
+ drawer.setStroke( new BasicStroke(stroke.getLineWidth(), stroke.getEndCap(), stroke.getLineJoin(),
miterLimit, null, 0.0f));
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineWidth.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineWidth.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineWidth.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SetLineWidth.java Wed Apr 7 16:39:33 2010
@@ -49,15 +49,15 @@ public class SetLineWidth extends org.ap
{
lineWidth = 1;
}
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+ PageDrawer drawer = (PageDrawer)context;
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
- graphics.setStroke( new BasicStroke( lineWidth ) );
+ drawer.setStroke( new BasicStroke( lineWidth ) );
}
else
{
- graphics.setStroke( new BasicStroke(lineWidth, stroke.getEndCap(), stroke.getLineJoin(),
+ drawer.setStroke( new BasicStroke(lineWidth, stroke.getEndCap(), stroke.getLineJoin(),
stroke.getMiterLimit(), stroke.getDashArray(), stroke.getDashPhase()) );
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/StrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/StrokePath.java?rev=931616&r1=931615&r2=931616&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/StrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/StrokePath.java Wed Apr 7 16:39:33 2010
@@ -64,15 +64,15 @@ public class StrokePath extends Operator
{
lineWidth = lineWidth * ctm.getXScale();
}
- Graphics2D graphics = ((PageDrawer)context).getGraphics();
- BasicStroke stroke = (BasicStroke)graphics.getStroke();
+
+ BasicStroke stroke = (BasicStroke)drawer.getStroke();
if (stroke == null)
{
- graphics.setStroke( new BasicStroke( lineWidth ) );
+ drawer.setStroke( new BasicStroke( lineWidth ) );
}
else
{
- graphics.setStroke( new BasicStroke(lineWidth, stroke.getEndCap(), stroke.getLineJoin(),
+ drawer.setStroke( new BasicStroke(lineWidth, stroke.getEndCap(), stroke.getLineJoin(),
stroke.getMiterLimit(), stroke.getDashArray(), stroke.getDashPhase()) );
}
drawer.strokePath();