fop 0.95

org.apache.fop.render.pcl
Class PCLRenderer

java.lang.Object
  extended by org.apache.fop.render.AbstractRenderer
      extended by org.apache.fop.render.PrintRenderer
          extended by org.apache.fop.render.pcl.PCLRenderer
All Implemented Interfaces:
Constants, Renderer

public class PCLRenderer
extends PrintRenderer

Renderer for the PCL 5 printer language. It also uses HP GL/2 for certain graphic elements.


Field Summary
protected  PCLGenerator gen
          The PCL generator
static java.lang.String MIME_TYPE
          The MIME type for PCL
protected  java.io.OutputStream out
          The OutputStream to write the PCL stream to
 
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_ONLY, 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_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_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
PCLRenderer()
          Create the PCL renderer
 
Method Summary
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 concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
          Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.
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 drawBorders(java.awt.geom.Rectangle2D.Float borderRect, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd)
          Draws borders.
protected  void drawFastBorders(java.awt.geom.Rectangle2D.Float borderRect, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd)
          Draws borders.
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 drawQualityBorders(java.awt.geom.Rectangle2D.Float borderRect, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd)
          Draws borders.
protected  void endVParea()
          Signals exit from a viewport area.
protected  void fillRect(float x, float y, float width, float height)
          Fill a rectangular area.
 org.apache.xmlgraphics.java2d.GraphicContext getGraphicContext()
           
 Graphics2DAdapter getGraphics2DAdapter()
          
 java.lang.String getMimeType()
          Get the MIME type of the renderer.
protected  int getResolution()
           
protected  void handleBlockTraits(Block block)
          Handle block traits.
protected  void handleIOTrouble(java.io.IOException ioe)
          Central exception handler for I/O exceptions.
protected  void handleRegionTraits(RegionViewport region)
          Handle the traits for a region This is used to draw the traits for the given page region.
 boolean isPJLDisabled()
          Indicates whether PJL generation is disabled.
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 renderBlockViewport(BlockViewport bv, java.util.List children)
          Renders a block viewport.
protected  void renderFlow(NormalFlow flow)
          Renders a flow reference area.
 void renderForeignObject(ForeignObject fo, java.awt.geom.Rectangle2D pos)
          Renders a foreign object area.
 void renderImage(Image image, java.awt.geom.Rectangle2D pos)
          Renders an image area.
protected  void renderInlineAreaBackAndBorders(InlineArea area)
          Common method to render the background and borders for any inline area.
 void renderPage(PageViewport page)
          Tells the renderer to render a particular page.
protected  void renderReferenceArea(Block block)
          Renders a block area that represents a reference area.
protected  void renderSpace(SpaceArea space)
          Render the given SpaceArea.
protected  void renderText(TextArea text)
          Render the given TextArea.
 void renderViewport(Viewport viewport)
          Render an inline viewport.
protected  void renderWord(WordArea word)
          Render the given WordArea.
protected  void restoreGraphicsState()
          Restores the last graphics state from the stack.
protected  void saveGraphicsState()
          Saves the current graphics state on the stack.
 void setAllTextAsBitmaps(boolean allTextAsBitmaps)
          Controls whether all text should be generated as bitmaps or only text for which there's no native font.
 boolean setFont(java.lang.String name, float size, java.lang.String text)
          Sets the current font (NOTE: Hard-coded font mappings ATM!)
 void setPJLDisabled(boolean disable)
          Controls whether PJL commands shall be generated by the PCL renderer.
 void setQualityBeforeSpeed(boolean qualityBeforeSpeed)
          Configures the renderer to trade speed for quality if desired.
 void setupFontInfo(FontInfo inFontInfo)
          Set up the font info
 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 updateFillColor(java.awt.Color color)
          Sets the new current fill color.
 
Methods inherited from class org.apache.fop.render.PrintRenderer
addFontList, getFontFromArea, getFontResolver, getInternalFontNameForArea, lightenColor, renderDocument, setFontList
 
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, getCurrentPageViewport, getImageAdapter, getUserAgent, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFootnote, renderInlineArea, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderXML, setUserAgent, startPageSequence, startPageSequence, 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 PCL

See Also:
Constant Field Values

out

protected java.io.OutputStream out
The OutputStream to write the PCL stream to


gen

protected PCLGenerator gen
The PCL generator

Constructor Detail

PCLRenderer

public PCLRenderer()
Create the PCL renderer

Method Detail

setQualityBeforeSpeed

public void setQualityBeforeSpeed(boolean qualityBeforeSpeed)
Configures the renderer to trade speed for quality if desired. One example here is the way that borders are rendered.

Parameters:
qualityBeforeSpeed - true if quality is more important than speed

setPJLDisabled

public void setPJLDisabled(boolean disable)
Controls whether PJL commands shall be generated by the PCL renderer.

Parameters:
disable - true to disable PJL commands

isPJLDisabled

public boolean isPJLDisabled()
Indicates whether PJL generation is disabled.

Returns:
true if PJL generation is disabled.

setupFontInfo

public void setupFontInfo(FontInfo inFontInfo)
Set up the font info

Specified by:
setupFontInfo in interface Renderer
Overrides:
setupFontInfo in class PrintRenderer
Parameters:
inFontInfo - font info to set up

handleIOTrouble

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

Parameters:
ioe - IOException to handle

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)

getGraphicContext

public org.apache.xmlgraphics.java2d.GraphicContext getGraphicContext()
Returns:
the GraphicContext used to track coordinate system transformations

getResolution

protected int getResolution()
Returns:
the target resolution

setFont

public boolean setFont(java.lang.String name,
                       float size,
                       java.lang.String text)
                throws java.io.IOException
Sets the current font (NOTE: Hard-coded font mappings ATM!)

Parameters:
name - the font name (internal F* names for now)
size - the font size
text - the text to be rendered (used to determine if there are non-printable chars)
Returns:
true if the font can be mapped to PCL
Throws:
java.io.IOException - if an I/O problem occurs

startRenderer

public void startRenderer(java.io.OutputStream outputStream)
                   throws java.io.IOException
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

stopRenderer

public void stopRenderer()
                  throws java.io.IOException
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

getMimeType

public java.lang.String getMimeType()
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

renderPage

public void renderPage(PageViewport page)
                throws java.io.IOException,
                       FOPException
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.

saveGraphicsState

protected void saveGraphicsState()
Saves the current graphics state on the stack.


restoreGraphicsState

protected void restoreGraphicsState()
Restores the last graphics state from the stack.


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. Coordinates are in points.

Parameters:
x - the x coordinate
y - the y coordinate
width - the width of the area
height - the height of the area

startVParea

protected void startVParea(CTM ctm,
                           java.awt.geom.Rectangle2D clippingRect)
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.

endVParea

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

Specified by:
endVParea in class AbstractRenderer

handleBlockTraits

protected void handleBlockTraits(Block block)
Handle block traits. The block could be any sort of block with any positioning so this should render the traits such as border and background in its position.

Overrides:
handleBlockTraits in class AbstractRenderer
Parameters:
block - the block to render the traits

handleRegionTraits

protected void handleRegionTraits(RegionViewport region)
Handle the traits for a region This is used to draw the traits for the given page region. (See Sect. 6.4.1.2 of XSL-FO spec.)

Overrides:
handleRegionTraits in class AbstractRenderer
Parameters:
region - the RegionViewport whose region is to be drawn
To do:
Copied from AbstractPathOrientedRenderer

renderText

protected void renderText(TextArea text)
Render the given TextArea.

Overrides:
renderText in class AbstractRenderer
Parameters:
text - the text to render

clip

protected void clip()
Clip using the current path.


closePath

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


lineTo

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

Parameters:
x - x coordinate
y - y coordinate

moveTo

protected void moveTo(float x,
                      float y)
Moves the current point to (x, y), omitting any connecting line segment.

Parameters:
x - x coordinate
y - y coordinate

fillRect

protected void fillRect(float x,
                        float y,
                        float width,
                        float height)
Fill a rectangular area.

Parameters:
x - the x coordinate (in pt)
y - the y coordinate (in pt)
width - the width of the rectangle
height - the height of the rectangle

updateFillColor

protected void updateFillColor(java.awt.Color color)
Sets the new current fill color.

Parameters:
color - the color

renderWord

protected void renderWord(WordArea word)
Render the given WordArea.

Overrides:
renderWord in class AbstractRenderer
Parameters:
word - the word to render

renderSpace

protected void renderSpace(SpaceArea space)
Render the given SpaceArea.

Overrides:
renderSpace in class AbstractRenderer
Parameters:
space - the space to render

renderViewport

public void renderViewport(Viewport viewport)
Render an inline viewport. This renders an inline viewport by clipping if necessary.

Overrides:
renderViewport in class AbstractRenderer
Parameters:
viewport - the viewport to handle
To do:
Copied from AbstractPathOrientedRenderer

renderBlockViewport

protected void renderBlockViewport(BlockViewport bv,
                                   java.util.List children)
Renders a block viewport.

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

renderReferenceArea

protected void renderReferenceArea(Block block)
Renders a block area that represents a reference area. The reference area establishes a new coordinate system.

Specified by:
renderReferenceArea in class AbstractRenderer
Parameters:
block - the block area

renderFlow

protected void renderFlow(NormalFlow flow)
Renders a flow reference area.

Overrides:
renderFlow in class AbstractRenderer
Parameters:
flow - The flow reference area

concatenateTransformationMatrix

protected void concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.

Parameters:
at - the transformation matrix to process (coordinates in points)

createRendererContext

protected RendererContext createRendererContext(int x,
                                                int y,
                                                int width,
                                                int height,
                                                java.util.Map foreignAttributes)
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

renderImage

public void renderImage(Image image,
                        java.awt.geom.Rectangle2D pos)
Renders an image area.

Overrides:
renderImage in class AbstractRenderer
Parameters:
image - The image
pos - The target position of the image (todo) Make renderImage() protected

drawImage

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

Parameters:
uri - the URI/URL of the image
pos - the position of the image
foreignAttributes - an optional Map with foreign attributes, may be null

renderForeignObject

public void renderForeignObject(ForeignObject fo,
                                java.awt.geom.Rectangle2D pos)
Renders a foreign object area.

Overrides:
renderForeignObject in class AbstractRenderer
Parameters:
fo - The foreign object area
pos - The target position of the foreign object (todo) Make renderForeignObject() protected

renderInlineAreaBackAndBorders

protected void renderInlineAreaBackAndBorders(InlineArea area)
Common method to render the background and borders for any inline area. The all borders and padding are drawn outside the specified area.

Specified by:
renderInlineAreaBackAndBorders in class AbstractRenderer
Parameters:
area - the inline area for which the background, border and padding is to be rendered
To do:
Copied from AbstractPathOrientedRenderer

drawBackAndBorders

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

Parameters:
area - the area whose traits are used
startx - the start x position
starty - the start y position
width - the width of the area
height - the height of the area

drawBorders

protected void drawBorders(java.awt.geom.Rectangle2D.Float borderRect,
                           BorderProps bpsBefore,
                           BorderProps bpsAfter,
                           BorderProps bpsStart,
                           BorderProps bpsEnd)
Draws borders.

Parameters:
borderRect - the border rectangle
bpsBefore - the border specification on the before side
bpsAfter - the border specification on the after side
bpsStart - the border specification on the start side
bpsEnd - the border specification on the end side

drawFastBorders

protected void drawFastBorders(java.awt.geom.Rectangle2D.Float borderRect,
                               BorderProps bpsBefore,
                               BorderProps bpsAfter,
                               BorderProps bpsStart,
                               BorderProps bpsEnd)
Draws borders. Borders are drawn as shaded rectangles with no clipping.

Parameters:
borderRect - the border rectangle
bpsBefore - the border specification on the before side
bpsAfter - the border specification on the after side
bpsStart - the border specification on the start side
bpsEnd - the border specification on the end side

drawQualityBorders

protected void drawQualityBorders(java.awt.geom.Rectangle2D.Float borderRect,
                                  BorderProps bpsBefore,
                                  BorderProps bpsAfter,
                                  BorderProps bpsStart,
                                  BorderProps bpsEnd)
Draws borders. Borders are drawn in-memory and painted as a bitmap.

Parameters:
borderRect - the border rectangle
bpsBefore - the border specification on the before side
bpsAfter - the border specification on the after side
bpsStart - the border specification on the start side
bpsEnd - the border specification on the end side

setAllTextAsBitmaps

public void setAllTextAsBitmaps(boolean allTextAsBitmaps)
Controls whether all text should be generated as bitmaps or only text for which there's no native font.

Parameters:
allTextAsBitmaps - true if all text should be painted as bitmaps

fop 0.95

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