fop 0.94

org.apache.fop.render.ps
Class PSRenderer

java.lang.Object
  extended by org.apache.fop.render.AbstractRenderer
      extended by org.apache.fop.render.PrintRenderer
          extended by org.apache.fop.render.AbstractPathOrientedRenderer
              extended by org.apache.fop.render.ps.PSRenderer
All Implemented Interfaces:
Constants, ImageAdapter, Renderer

public class PSRenderer
extends AbstractPathOrientedRenderer
implements ImageAdapter

Renderer that renders to PostScript.
This class currently generates PostScript Level 2 code. The only exception is the FlateEncode filter which is a Level 3 feature. The filters in use are hardcoded at the moment.
This class follows the Document Structuring Conventions (DSC) version 3.0. If anyone modifies this renderer please make sure to also follow the DSC to make it simpler to programmatically modify the generated Postscript files (ex. extract pages etc.).
This renderer inserts FOP-specific comments into the PostScript stream which may help certain users to do certain types of post-processing of the output. These comments all start with "%FOP".

Version:
$Id: PSRenderer.java 542237 2007-05-28 14:31:24Z jeremias $
Author:
Apache FOP Development Team

Field Summary
protected  org.apache.xmlgraphics.ps.PSGenerator gen
          The PostScript generator used to output the PostScript
static java.lang.String MIME_TYPE
          The MIME type for PostScript
 
Fields inherited from class org.apache.fop.render.PrintRenderer
fontInfo, fontList, fontResolver
 
Fields inherited from class org.apache.fop.render.AbstractRenderer
containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, userAgent
 
Fields inherited from interface org.apache.fop.render.Renderer
ROLE
 
Fields inherited from interface org.apache.fop.fo.Constants
COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LOWERCASE, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_TO_FIT, EN_SCROLL, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, EN_X_DISTRIBUTE, EN_X_FILL, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_ROOT, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_NAME, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_HEIGHT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
 
Constructor Summary
PSRenderer()
           
 
Method Summary
protected  void beginTextObject()
          Indicates the beginning of a text object.
protected  java.util.List breakOutOfStateStack()
          Breaks out of the state stack to handle fixed block-containers.
protected  void clip()
          Clip using the current path.
protected  void clipRect(float x, float y, float width, float height)
          Clip an area.
protected  void closePath()
          Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.
protected  void comment(java.lang.String comment)
          Write out a comment
protected  void concatMatrix(double[] matrix)
          Concats the transformations matrix.
protected  void concatMatrix(double a, double b, double c, double d, double e, double f)
          Concats the transformation matrix.
protected  RendererContext createRendererContext(int x, int y, int width, int height, java.util.Map foreignAttributes)
          Creates a RendererContext for an image.
protected  void drawBackAndBorders(Area area, float startx, float starty, float width, float height)
          Draw the background and borders.
protected  void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)
          Draw a border segment of an XSL-FO style border.
protected  void drawImage(java.lang.String uri, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)
          Draw an image at the indicated location.
protected  void endTextObject()
          Indicates the end of a text object.
protected  void endVParea()
          Signals exit from a viewport area.
protected  void fillRect(float x, float y, float width, float height)
          Fill a rectangular area.
protected  org.apache.xmlgraphics.ps.PSResource getFormForImage(java.lang.String uri, FopImage fopimage)
           
 Graphics2DAdapter getGraphics2DAdapter()
           
 ImageAdapter getImageAdapter()
           
 java.lang.String getMimeType()
          Get the MIME type of the renderer.
protected  org.apache.xmlgraphics.ps.PSResource getPSResourceForFontKey(java.lang.String key)
          Returns the PSResource for the given font key.
protected  void handleIOTrouble(java.io.IOException ioe)
          Central exception handler for I/O exceptions.
 boolean isAutoRotateLandscape()
           
protected  boolean isImageInlined(java.lang.String uri, FopImage image)
           
protected  void lineTo(float x, float y)
          Appends a straight line segment from the current point to (x, y).
protected  void moveTo(float x, float y)
          Moves the current point to (x, y), omitting any connecting line segment.
protected  void movetoCurrPosition()
          Make sure the cursor is in the right place.
 void paintImage(java.awt.image.RenderedImage image, RendererContext context, int x, int y, int width, int height)
          Paints an image at the given position.
 void processOffDocumentItem(OffDocumentItem oDI)
          Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).
protected  void renderBlockViewport(BlockViewport bv, java.util.List children)
          Renders a block viewport.
 void renderImage(Image image, java.awt.geom.Rectangle2D pos)
          Renders an image area.
protected  void renderInlineParent(InlineParent ip)
          Render the given InlineParent.
 void renderLeader(Leader area)
          Render the given Leader.
 void renderPage(PageViewport page)
          Tells the renderer to render a particular page.
protected  void renderRegionViewport(RegionViewport port)
          Renders a region viewport.
protected  void renderSpace(SpaceArea space)
          Render the given SpaceArea.
 void renderText(TextArea area)
          Render the given TextArea.
protected  void renderWord(WordArea word)
          Render the given WordArea.
 void restoreGraphicsState()
          Restores the last graphics state of the rendering engine.
protected  void restoreStateStackAfterBreakOut(java.util.List breakOutList)
          Restores the state stack after a break out.
protected  void rmoveTo(float x, float y)
          Moves the current point by (x, y) relative to the current position, omitting any connecting line segment.
 void saveGraphicsState()
          Saves the graphics state of the rendering engine.
 void setAutoRotateLandscape(boolean value)
          Sets the landscape mode for this renderer.
 void setUserAgent(FOUserAgent agent)
          Set the User Agent.
 void startPageSequence(LineArea seqTitle)
          Tells the renderer that a new page sequence starts.
 void startRenderer(java.io.OutputStream outputStream)
          Initiates the rendering phase.
protected  void startVParea(CTM ctm, java.awt.geom.Rectangle2D clippingRect)
          Establishes a new viewport area.
 void stopRenderer()
          Signals the end of the rendering phase.
protected  void updateColor(java.awt.Color col, boolean fill)
          Establishes a new foreground or fill color.
protected  void useFont(java.lang.String key, int size)
          Changes the currently used font.
protected  void writeln(java.lang.String cmd)
          Write out a command
 
Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
drawBorders, drawImage, handleBlockTraits, handleRegionTraits, renderForeignObject, renderInlineAreaBackAndBorders, renderTextDecoration, renderViewport
 
Methods inherited from class org.apache.fop.render.PrintRenderer
addFontList, getFontFromArea, getFontResolver, getInternalFontNameForArea, lightenColor, renderDocument, setFontList, setupFontInfo
 
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, getCurrentPageViewport, getUserAgent, preparePage, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFlow, renderFootnote, renderInlineArea, renderInlineBlockParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderXML, supportsOutOfOrder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIME_TYPE

public static final java.lang.String MIME_TYPE
The MIME type for PostScript

See Also:
Constant Field Values

gen

protected org.apache.xmlgraphics.ps.PSGenerator gen
The PostScript generator used to output the PostScript

Constructor Detail

PSRenderer

public PSRenderer()
Method Detail

setUserAgent

public void setUserAgent(FOUserAgent agent)
Description copied from interface: Renderer
Set the User Agent.

Specified by:
setUserAgent in interface Renderer
Overrides:
setUserAgent in class AbstractRenderer
Parameters:
agent - The User Agent
See Also:
Renderer.setUserAgent(FOUserAgent)

setAutoRotateLandscape

public void setAutoRotateLandscape(boolean value)
Sets the landscape mode for this renderer.

Parameters:
value - false will normally generate a "pseudo-portrait" page, true will rotate a "wider-than-long" page by 90 degrees.

isAutoRotateLandscape

public boolean isAutoRotateLandscape()
Returns:
true if the renderer is configured to rotate landscape pages

getGraphics2DAdapter

public Graphics2DAdapter getGraphics2DAdapter()
Specified by:
getGraphics2DAdapter in interface Renderer
Overrides:
getGraphics2DAdapter in class AbstractRenderer
Returns:
the adapter for painting Java2D images (or null if not supported)
See Also:
Renderer.getGraphics2DAdapter()

getImageAdapter

public ImageAdapter getImageAdapter()
Specified by:
getImageAdapter in interface Renderer
Overrides:
getImageAdapter in class AbstractRenderer
Returns:
the adapter for painting RenderedImages (or null if not supported)
See Also:
Renderer.getImageAdapter()

writeln

protected void writeln(java.lang.String cmd)
Write out a command

Parameters:
cmd - PostScript command

handleIOTrouble

protected void handleIOTrouble(java.io.IOException ioe)
Central exception handler for I/O exceptions.

Parameters:
ioe - IOException to handle

comment

protected void comment(java.lang.String comment)
Write out a comment

Parameters:
comment - Comment to write

movetoCurrPosition

protected void movetoCurrPosition()
Make sure the cursor is in the right place.


clip

protected void clip()
Description copied from class: AbstractPathOrientedRenderer
Clip using the current path.

Specified by:
clip in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.clip()

clipRect

protected void clipRect(float x,
                        float y,
                        float width,
                        float height)
Clip an area. Write a clipping operation given coordinates in the current transform.

Specified by:
clipRect in class AbstractPathOrientedRenderer
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the area
height - the height of the area

moveTo

protected void moveTo(float x,
                      float y)
Description copied from class: AbstractPathOrientedRenderer
Moves the current point to (x, y), omitting any connecting line segment.

Specified by:
moveTo in class AbstractPathOrientedRenderer
Parameters:
x - x coordinate
y - y coordinate
See Also:
AbstractPathOrientedRenderer.moveTo(float, float)

rmoveTo

protected void rmoveTo(float x,
                       float y)
Moves the current point by (x, y) relative to the current position, omitting any connecting line segment.

Parameters:
x - x coordinate
y - y coordinate

lineTo

protected void lineTo(float x,
                      float y)
Description copied from class: AbstractPathOrientedRenderer
Appends a straight line segment from the current point to (x, y). The new current point is (x, y).

Specified by:
lineTo in class AbstractPathOrientedRenderer
Parameters:
x - x coordinate
y - y coordinate
See Also:
AbstractPathOrientedRenderer.lineTo(float, float)

closePath

protected void closePath()
Description copied from class: AbstractPathOrientedRenderer
Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.

Specified by:
closePath in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.closePath()

fillRect

protected void fillRect(float x,
                        float y,
                        float width,
                        float height)
Description copied from class: AbstractPathOrientedRenderer
Fill a rectangular area.

Specified by:
fillRect in class AbstractPathOrientedRenderer
Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the rectangle
height - the height of the rectangle
See Also:
AbstractPathOrientedRenderer

updateColor

protected void updateColor(java.awt.Color col,
                           boolean fill)
Description copied from class: AbstractPathOrientedRenderer
Establishes a new foreground or fill color.

Specified by:
updateColor in class AbstractPathOrientedRenderer
Parameters:
col - the color to apply (null skips this operation)
fill - true to set the fill color, false for the foreground color
See Also:
AbstractPathOrientedRenderer

drawImage

protected void drawImage(java.lang.String uri,
                         java.awt.geom.Rectangle2D pos,
                         java.util.Map foreignAttributes)
Description copied from class: AbstractPathOrientedRenderer
Draw an image at the indicated location.

Specified by:
drawImage in class AbstractPathOrientedRenderer
Parameters:
uri - the URI/URL of the image
pos - the position of the image
foreignAttributes - an optional Map with foreign attributes, may be null
See Also:
AbstractPathOrientedRenderer

getFormForImage

protected org.apache.xmlgraphics.ps.PSResource getFormForImage(java.lang.String uri,
                                                               FopImage fopimage)

isImageInlined

protected boolean isImageInlined(java.lang.String uri,
                                 FopImage image)

paintImage

public void paintImage(java.awt.image.RenderedImage image,
                       RendererContext context,
                       int x,
                       int y,
                       int width,
                       int height)
                throws java.io.IOException
Description copied from interface: ImageAdapter
Paints an image at the given position.

Specified by:
paintImage in interface ImageAdapter
Parameters:
image - the image which will be painted
context - the renderer context for the current renderer
x - X position of the image
y - Y position of the image
width - width of the image
height - height of the image
Throws:
java.io.IOException - In case of an I/O error while writing the output format
See Also:
ImageAdapter

saveGraphicsState

public void saveGraphicsState()
Saves the graphics state of the rendering engine.

Specified by:
saveGraphicsState in class AbstractPathOrientedRenderer

restoreGraphicsState

public void restoreGraphicsState()
Restores the last graphics state of the rendering engine.

Specified by:
restoreGraphicsState in class AbstractPathOrientedRenderer

concatMatrix

protected void concatMatrix(double a,
                            double b,
                            double c,
                            double d,
                            double e,
                            double f)
Concats the transformation matrix.

Parameters:
a - A part
b - B part
c - C part
d - D part
e - E part
f - F part

concatMatrix

protected void concatMatrix(double[] matrix)
Concats the transformations matrix.

Parameters:
matrix - Matrix to use

getPSResourceForFontKey

protected org.apache.xmlgraphics.ps.PSResource getPSResourceForFontKey(java.lang.String key)
Returns the PSResource for the given font key.

Parameters:
key - the font key ("F*")
Returns:
the matching PSResource

useFont

protected void useFont(java.lang.String key,
                       int size)
Changes the currently used font.

Parameters:
key - key of the font ("F*")
size - font size

drawBackAndBorders

protected void drawBackAndBorders(Area area,
                                  float startx,
                                  float starty,
                                  float width,
                                  float height)
Description copied from class: AbstractPathOrientedRenderer
Draw the background and borders. This draws the background and border traits for an area given the position.

Overrides:
drawBackAndBorders in class AbstractPathOrientedRenderer
Parameters:
area - the area to get the traits from
startx - the start x position
starty - the start y position
width - the width of the area
height - the height of the area
See Also:
AbstractPathOrientedRenderer.drawBackAndBorders( Area, float, float, float, float)

drawBorderLine

protected void drawBorderLine(float x1,
                              float y1,
                              float x2,
                              float y2,
                              boolean horz,
                              boolean startOrBefore,
                              int style,
                              java.awt.Color col)
Description copied from class: AbstractPathOrientedRenderer
Draw a border segment of an XSL-FO style border.

Specified by:
drawBorderLine in class AbstractPathOrientedRenderer
Parameters:
x1 - starting x coordinate
y1 - starting y coordinate
x2 - ending x coordinate
y2 - ending y coordinate
horz - true for horizontal border segments, false for vertical border segments
startOrBefore - true for border segments on the start or before edge, false for end or after.
style - the border style (one of Constants.EN_DASHED etc.)
col - the color for the border segment
See Also:
AbstractPathOrientedRenderer

startRenderer

public void startRenderer(java.io.OutputStream outputStream)
                   throws java.io.IOException
Description copied from interface: Renderer
Initiates the rendering phase. This must only be called once for a rendering. If stopRenderer is called then this may be called again for a new document rendering.

Specified by:
startRenderer in interface Renderer
Overrides:
startRenderer in class AbstractRenderer
Parameters:
outputStream - The OutputStream to use for output
Throws:
java.io.IOException - If an I/O error occurs
See Also:
Renderer.startRenderer(OutputStream)

stopRenderer

public void stopRenderer()
                  throws java.io.IOException
Description copied from interface: Renderer
Signals the end of the rendering phase. The renderer should reset to an initial state and dispose of any resources for the completed rendering.

Specified by:
stopRenderer in interface Renderer
Overrides:
stopRenderer in class AbstractRenderer
Throws:
java.io.IOException - If an I/O error occurs
See Also:
Renderer.stopRenderer()

processOffDocumentItem

public void processOffDocumentItem(OffDocumentItem oDI)
Description copied from interface: Renderer
Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks). Note - not all renderers will process all off-document items.

Specified by:
processOffDocumentItem in interface Renderer
Overrides:
processOffDocumentItem in class AbstractRenderer
Parameters:
oDI - The off-document item to be rendered
See Also:
Renderer

startPageSequence

public void startPageSequence(LineArea seqTitle)
Description copied from interface: Renderer
Tells the renderer that a new page sequence starts.

Specified by:
startPageSequence in interface Renderer
Overrides:
startPageSequence in class AbstractRenderer
Parameters:
seqTitle - The title of the page sequence
See Also:
Renderer.startPageSequence(org.apache.fop.area.LineArea)

renderPage

public void renderPage(PageViewport page)
                throws java.io.IOException,
                       FOPException
Description copied from interface: Renderer
Tells the renderer to render a particular page. A renderer typically reponds by packing up the current page and writing it immediately to the output device.

Specified by:
renderPage in interface Renderer
Overrides:
renderPage in class AbstractRenderer
Parameters:
page - The page to be rendered
Throws:
java.io.IOException - if an I/O error occurs
FOPException - if a FOP interal error occurs.
See Also:
Renderer.renderPage(PageViewport)

renderRegionViewport

protected void renderRegionViewport(RegionViewport port)
Description copied from class: AbstractRenderer
Renders a region viewport.

The region may clip the area and it establishes a position from where the region is placed.

Overrides:
renderRegionViewport in class AbstractRenderer
Parameters:
port - The region viewport to be rendered
See Also:
AbstractRenderer

beginTextObject

protected void beginTextObject()
Indicates the beginning of a text object.

Specified by:
beginTextObject in class AbstractPathOrientedRenderer

endTextObject

protected void endTextObject()
Indicates the end of a text object.

Specified by:
endTextObject in class AbstractPathOrientedRenderer

renderText

public void renderText(TextArea area)
Description copied from class: AbstractRenderer
Render the given TextArea.

Overrides:
renderText in class AbstractRenderer
Parameters:
area - the text to render
See Also:
AbstractRenderer.renderText(TextArea)

renderWord

protected void renderWord(WordArea word)
Description copied from class: AbstractRenderer
Render the given WordArea.

Overrides:
renderWord in class AbstractRenderer
Parameters:
word - the word to render
See Also:
AbstractRenderer.renderWord(org.apache.fop.area.inline.WordArea)

renderSpace

protected void renderSpace(SpaceArea space)
Description copied from class: AbstractRenderer
Render the given SpaceArea.

Overrides:
renderSpace in class AbstractRenderer
Parameters:
space - the space to render
See Also:
AbstractRenderer.renderSpace(org.apache.fop.area.inline.SpaceArea)

breakOutOfStateStack

protected java.util.List breakOutOfStateStack()
Description copied from class: AbstractPathOrientedRenderer
Breaks out of the state stack to handle fixed block-containers.

Specified by:
breakOutOfStateStack in class AbstractPathOrientedRenderer
Returns:
the saved state stack to recreate later
See Also:
AbstractPathOrientedRenderer.breakOutOfStateStack()

restoreStateStackAfterBreakOut

protected void restoreStateStackAfterBreakOut(java.util.List breakOutList)
Description copied from class: AbstractPathOrientedRenderer
Restores the state stack after a break out.

Specified by:
restoreStateStackAfterBreakOut in class AbstractPathOrientedRenderer
Parameters:
breakOutList - the state stack to restore.
See Also:
AbstractPathOrientedRenderer

startVParea

protected void startVParea(CTM ctm,
                           java.awt.geom.Rectangle2D clippingRect)
Description copied from class: AbstractRenderer
Establishes a new viewport area.

Specified by:
startVParea in class AbstractRenderer
Parameters:
ctm - the coordinate transformation matrix to use
clippingRect - the clipping rectangle if the viewport should be clipping, null if no clipping is performed.
See Also:
AbstractRenderer.startVParea(CTM, Rectangle2D)

endVParea

protected void endVParea()
Description copied from class: AbstractRenderer
Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.

Specified by:
endVParea in class AbstractRenderer
See Also:
AbstractRenderer.endVParea()

renderBlockViewport

protected void renderBlockViewport(BlockViewport bv,
                                   java.util.List children)
Description copied from class: AbstractRenderer
Renders a block viewport.

Overrides:
renderBlockViewport in class AbstractPathOrientedRenderer
Parameters:
bv - The block viewport
children - The children to render within the block viewport
See Also:
AbstractRenderer

renderInlineParent

protected void renderInlineParent(InlineParent ip)
Description copied from class: AbstractRenderer
Render the given InlineParent.

Overrides:
renderInlineParent in class AbstractRenderer
Parameters:
ip - the inline parent to render
See Also:
AbstractRenderer

renderLeader

public void renderLeader(Leader area)
Description copied from class: AbstractRenderer
Render the given Leader.

Overrides:
renderLeader in class AbstractRenderer
Parameters:
area - the leader to render
See Also:
AbstractRenderer.renderLeader(org.apache.fop.area.inline.Leader)

renderImage

public void renderImage(Image image,
                        java.awt.geom.Rectangle2D pos)
Description copied from class: AbstractRenderer
Renders an image area.

Overrides:
renderImage in class AbstractRenderer
Parameters:
image - The image
pos - The target position of the image (todo) Make renderImage() protected
See Also:
AbstractRenderer.renderImage(Image, Rectangle2D)

createRendererContext

protected RendererContext createRendererContext(int x,
                                                int y,
                                                int width,
                                                int height,
                                                java.util.Map foreignAttributes)
Description copied from class: PrintRenderer
Creates a RendererContext for an image.

Overrides:
createRendererContext in class PrintRenderer
Parameters:
x - the x coordinate (in millipoints)
y - the y coordinate (in millipoints)
width - the width of the image (in millipoints)
height - the height of the image (in millipoints)
foreignAttributes - a Map or foreign attributes, may be null
Returns:
the RendererContext
See Also:
PrintRenderer.createRendererContext( int, int, int, int, java.util.Map)

getMimeType

public java.lang.String getMimeType()
Description copied from class: AbstractRenderer
Get the MIME type of the renderer.

Specified by:
getMimeType in interface Renderer
Overrides:
getMimeType in class AbstractRenderer
Returns:
The MIME type of the renderer
See Also:
AbstractRenderer

fop 0.94

Copyright 1999-2007 The Apache Software Foundation. All Rights Reserved.