Package org.apache.fop.render.ps
Class PSGraphicsPainter
- java.lang.Object
-
- org.apache.fop.render.ps.PSGraphicsPainter
-
- All Implemented Interfaces:
BezierCurvePainter,GraphicsPainter
public class PSGraphicsPainter extends java.lang.Object implements GraphicsPainter, BezierCurvePainter
PostScript-specific implementation of theBorderPainter.
-
-
Constructor Summary
Constructors Constructor Description PSGraphicsPainter(org.apache.xmlgraphics.ps.PSGenerator generator)Creates a new border painter for PostScript.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarcTo(double startAngle, double endAngle, int cx, int cy, int width, int height)Draws an arc on the ellipse centered at (cx, cy) with width width and height height from start angle startAngle (with respect to the x-axis counter-clockwise) to the end angle endAngle.voidclip()Reduces the current clipping region to the current path.voidclosePath()Closes the current path.voidcubicBezierTo(int p1x, int p1y, int p2x, int p2y, int p3x, int p3y)Draw a cubic bezier from current position to (p3x, p3y) using the control points (p1x, p1y) and (p2x, p2y)voiddrawBorderLine(int x1, int y1, int x2, int y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)Draws a border line.static voiddrawBorderLine(org.apache.xmlgraphics.ps.PSGenerator gen, float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)voiddrawLine(java.awt.Point start, java.awt.Point end, int width, java.awt.Color color, RuleStyle style)Draws a line/rule.voidlineTo(int x, int y)Draws a line from the current cursor position to the given coordinates.voidmoveTo(int x, int y)Moves the cursor to the given coordinate.voidrestoreGraphicsState()Restore the last graphics state from the stack.voidrotateCoordinates(double angle)Rotate the coordinate framevoidsaveGraphicsState()Save the graphics state on the stack.voidscaleCoordinates(float xScale, float yScale)Scale the coordinate framevoidtranslateCoordinates(int xTranslate, int yTranslate)Translate the coordinate frame
-
-
-
Method Detail
-
drawBorderLine
public void drawBorderLine(int x1, int y1, int x2, int y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col) throws java.io.IOExceptionDraws a border line.- Specified by:
drawBorderLinein interfaceGraphicsPainter- Parameters:
x1- X coordinate of the upper left corner of the line's bounding rectangle (in millipoints)y1- start Y coordinate of the upper left corner of the line's bounding rectangle (in millipoints)x2- end X coordinate of the lower right corner of the line's bounding rectangle (in millipoints)y2- end y coordinate of the lower right corner of the line's bounding rectangle (in millipoints)horz- true if it is a horizontal linestartOrBefore- true if the line is the start or end edge of a border boxstyle- the border stylecol- the border color- Throws:
java.io.IOException- if an I/O error occurs
-
drawBorderLine
public static void drawBorderLine(org.apache.xmlgraphics.ps.PSGenerator gen, float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col) throws java.io.IOException- Throws:
java.io.IOException
-
drawLine
public void drawLine(java.awt.Point start, java.awt.Point end, int width, java.awt.Color color, RuleStyle style) throws java.io.IOExceptionDraws a line/rule.- Specified by:
drawLinein interfaceGraphicsPainter- Parameters:
start- start point (coordinates in millipoints)end- end point (coordinates in millipoints)width- width of the linecolor- the line colorstyle- the rule style- Throws:
java.io.IOException- if an I/O error occurs
-
moveTo
public void moveTo(int x, int y) throws java.io.IOExceptionMoves the cursor to the given coordinate.- Specified by:
moveToin interfaceGraphicsPainter- Parameters:
x- the X coordinate (in millipoints)y- the Y coordinate (in millipoints)- Throws:
java.io.IOException- if an I/O error occurs
-
lineTo
public void lineTo(int x, int y) throws java.io.IOExceptionDraws a line from the current cursor position to the given coordinates.- Specified by:
lineToin interfaceGraphicsPainter- Parameters:
x- the X coordinate (in millipoints)y- the Y coordinate (in millipoints)- Throws:
java.io.IOException- if an I/O error occurs
-
arcTo
public void arcTo(double startAngle, double endAngle, int cx, int cy, int width, int height) throws java.io.IOExceptionDraws an arc on the ellipse centered at (cx, cy) with width width and height height from start angle startAngle (with respect to the x-axis counter-clockwise) to the end angle endAngle. The ellipses major axis are assumed to coincide with the coordinate axis. The current position MUST coincide with the starting position on the ellipse.- Specified by:
arcToin interfaceGraphicsPainter- Parameters:
startAngle- the start angleendAngle- the end anglecx- the x coordinate of the ellipse centercy- the y coordinate of the ellipse centerwidth- the extent of the ellipse in the x directionheight- the extent of the ellipse in the y direction- Throws:
java.io.IOException- if an I/O error occurs
-
closePath
public void closePath() throws java.io.IOExceptionCloses the current path.- Specified by:
closePathin interfaceGraphicsPainter- Throws:
java.io.IOException- if an I/O error occurs
-
clip
public void clip() throws java.io.IOExceptionReduces the current clipping region to the current path.- Specified by:
clipin interfaceGraphicsPainter- Throws:
java.io.IOException- if an I/O error occurs
-
saveGraphicsState
public void saveGraphicsState() throws java.io.IOExceptionSave the graphics state on the stack.- Specified by:
saveGraphicsStatein interfaceGraphicsPainter- Throws:
java.io.IOException- if an I/O error occurs
-
restoreGraphicsState
public void restoreGraphicsState() throws java.io.IOExceptionRestore the last graphics state from the stack.- Specified by:
restoreGraphicsStatein interfaceGraphicsPainter- Throws:
java.io.IOException- if an I/O error occurs
-
rotateCoordinates
public void rotateCoordinates(double angle) throws java.io.IOExceptionRotate the coordinate frame- Specified by:
rotateCoordinatesin interfaceGraphicsPainter- Parameters:
angle- angle in radians to rotate the coordinate frame- Throws:
java.io.IOException- if an I/O error occurs
-
translateCoordinates
public void translateCoordinates(int xTranslate, int yTranslate) throws java.io.IOExceptionTranslate the coordinate frame- Specified by:
translateCoordinatesin interfaceGraphicsPainter- Parameters:
xTranslate- translation in the x directionyTranslate- translation in the y direction- Throws:
java.io.IOException- if an I/O error occurs
-
scaleCoordinates
public void scaleCoordinates(float xScale, float yScale) throws java.io.IOExceptionScale the coordinate frame- Specified by:
scaleCoordinatesin interfaceGraphicsPainter- Parameters:
xScale- scale factor in the x directionyScale- scale factor in the y direction- Throws:
java.io.IOException- if an I/O error occurs
-
cubicBezierTo
public void cubicBezierTo(int p1x, int p1y, int p2x, int p2y, int p3x, int p3y) throws java.io.IOExceptionDraw a cubic bezier from current position to (p3x, p3y) using the control points (p1x, p1y) and (p2x, p2y)- Specified by:
cubicBezierToin interfaceBezierCurvePainter- Parameters:
p1x- x coordinate of the first control pointp1y- y coordinate of the first control pointp2x- x coordinate of the second control pointp2y- y coordinate of the second control pointp3x- x coordinate of the end pointp3y- y coordinate of the end point- Throws:
java.io.IOException- if an I/O error occurs
-
-