org.apache.fop.render.java2d

Class Java2DRenderer

Implemented Interfaces:
Printable, Constants, Renderer
Known Direct Subclasses:
AWTRenderer, PNGRenderer, PNGRenderer_onthefly, PrintRenderer, SVGRenderer, TIFFRenderer

public abstract class Java2DRenderer
extends AbstractPathOrientedRenderer
implements Printable

The Java2DRenderer class provides the abstract technical foundation for all rendering with the Java2D API. Renderers like AWTRenderer subclass it and provide the concrete output paths.

A lot of the logic is performed by AbstractRenderer. The class-variables currentIPPosition and currentBPPosition hold the position of the currently rendered area.

Java2DGraphicsState state holds the Graphics2D, which is used along the whole rendering. state also acts as a stack (state.push() and state.pop()).

The rendering process is basically always the same:

void renderXXXXX(Area area) { //calculate the currentPosition state.updateFont(name, size, null); state.updateColor(ct, false, null); state.getGraph.draw(new Shape(args)); }

Field Summary

static String
JAVA2D_TRANSPARENT_PAGE_BACKGROUND
Rendering Options key for the controlling the transparent page background option.
protected boolean
antialiasing
true if antialiasing is set
protected int
pageHeight
The page height in pixels
protected List
pageViewportList
List of Viewports
protected int
pageWidth
The page width in pixels
protected boolean
qualityRendering
true if qualityRendering is set
protected double
scaleFactor
The scale factor for the image size, values: ]0 ; 1]
protected Java2DGraphicsState
state
The current state, holds a Graphics2D and its context
protected boolean
transparentPageBackground
false: paints a non-transparent white background, true: for a transparent background

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, log, userAgent

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, ENUM_COUNT, 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_NONE, EN_NON_UNIFORM, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, 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_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_SMALLER, EN_SMALL_CAPS, EN_SMALL_CAPTION, 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_USECONTENT, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_VISIBLE, EN_WIDER, EN_WRAP, EN_X_DISTRIBUTE, EN_X_FILL, 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, PROPERTY_COUNT, PROPERTY_MASK, 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_ENDS_ROW, PR_END_INDENT, 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_LINEFEED_TREATMENT, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, 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_MAXIMUM_REPEATS, PR_MAX_HEIGHT, PR_MAX_WIDTH, 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_REFERENCE_ORIENTATION, PR_REF_ID, 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_STARTING_STATE, PR_STARTS_ROW, PR_START_INDENT, 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_XML_LANG, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_Z_INDEX

Fields inherited from interface org.apache.fop.render.Renderer

ROLE

Constructor Summary

Java2DRenderer()
Default constructor

Method Summary

protected void
beginTextObject()
protected List
breakOutOfStateStack()
void
clearViewportList()
Clears the ViewportList.
protected void
clip()
protected void
clipRect(float x, float y, float width, float height)
protected void
closePath()
protected void
concatenateTransformationMatrix(AffineTransform at)
protected RendererContext
createRendererContext(int x, int y, int width, int height, Map foreignAttributes)
static void
drawBorderLine(Rectangle2D.Float lineRect, boolean horz, boolean startOrBefore, int style, Color col, Graphics2D g2d)
Draw a border segment of an XSL-FO style border.
protected void
drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col)
protected void
drawImage(String uri, Rectangle2D pos, Map foreignAttributes)
protected void
endTextObject()
protected void
endVParea()
protected void
fillRect(float x, float y, float width, float height)
protected BufferedImage
getBufferedImage(int bitmapWidth, int bitmapHeight)
Returns a specific BufferedImage to paint a page image on.
int
getCurrentPageNumber()
Graphics2DAdapter
getGraphics2DAdapter()
int
getNumberOfPages()
BufferedImage
getPageImage(int pageNum)
Generates a desired page from the renderer's page viewport list.
BufferedImage
getPageImage(PageViewport pageViewport)
Generates a desired page from the renderer's page viewport list.
PageViewport
getPageViewport(int pageNum)
Returns a page viewport.
double
getScaleFactor()
FOUserAgent
getUserAgent()
boolean
isRenderingDone()
protected void
lineTo(float x, float y)
protected void
moveTo(float x, float y)
int
print(Graphics g, PageFormat pageFormat, int pageIndex)
void
renderImage(Image image, Rectangle2D pos)
void
renderLeader(Leader area)
Render leader area.
void
renderPage(PageViewport pageViewport)
This method override only stores the PageViewport in a List.
void
renderText(TextArea text)
static void
renderText(TextArea text, Graphics2D g2d, Font font)
Renders a TextArea to a Graphics2D instance.
protected void
restoreGraphicsState()
Restores the last graphics state of the rendering engine.
protected void
restoreStateStackAfterBreakOut(List breakOutList)
java.util.List)
protected void
saveGraphicsState()
Saves the graphics state of the rendering engine.
void
setCurrentPageNumber(int c)
void
setScaleFactor(double newScaleFactor)
Sets the new scale factor.
void
setTransparentPageBackground(boolean transparentPageBackground)
Controls the page background.
void
setUserAgent(FOUserAgent foUserAgent)
void
setupFontInfo(FontInfo inFontInfo)
void
startRenderer(OutputStream out)
protected void
startVParea(CTM ctm, Rectangle2D clippingRect)
void
stopRenderer()
protected void
updateColor(Color col, boolean fill)

Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer

beginTextObject, breakOutOfStateStack, clip, clipRect, closePath, concatenateTransformationMatrix, drawBackAndBorders, drawBorderLine, drawBorders, drawImage, drawImage, endTextObject, fillRect, handleBlockTraits, handleRegionTraits, lineTo, moveTo, renderBlockViewport, renderFlow, renderForeignObject, renderInlineAreaBackAndBorders, renderReferenceArea, renderTextDecoration, renderViewport, restoreGraphicsState, restoreStateStackAfterBreakOut, saveGraphicsState, updateColor

Methods inherited from class org.apache.fop.render.PrintRenderer

addFontList, createRendererContext, getFontFromArea, getFontResolver, getInternalFontNameForArea, lightenColor, renderDocument, setFontList, setupFontInfo

Methods inherited from class org.apache.fop.render.AbstractRenderer

convertTitleToString, endVParea, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getMimeType, getUserAgent, handleBlockTraits, handleRegionTraits, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlockViewport, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFlow, renderFootnote, renderForeignObject, renderImage, renderInlineArea, renderInlineAreaBackAndBorders, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPage, renderPageAreas, renderReferenceArea, renderRegion, renderRegionViewport, renderSpace, renderText, renderViewport, renderWord, renderXML, setUserAgent, setupFontInfo, startPageSequence, startPageSequence, startRenderer, startVParea, stopRenderer, supportsOutOfOrder

Field Details

JAVA2D_TRANSPARENT_PAGE_BACKGROUND

public static final String JAVA2D_TRANSPARENT_PAGE_BACKGROUND
Rendering Options key for the controlling the transparent page background option.

antialiasing

protected boolean antialiasing
true if antialiasing is set

pageHeight

protected int pageHeight
The page height in pixels

pageViewportList

protected List pageViewportList
List of Viewports

pageWidth

protected int pageWidth
The page width in pixels

qualityRendering

protected boolean qualityRendering
true if qualityRendering is set

scaleFactor

protected double scaleFactor
The scale factor for the image size, values: ]0 ; 1]

state

protected Java2DGraphicsState state
The current state, holds a Graphics2D and its context

transparentPageBackground

protected boolean transparentPageBackground
false: paints a non-transparent white background, true: for a transparent background

Constructor Details

Java2DRenderer

public Java2DRenderer()
Default constructor

Method Details

beginTextObject

protected void beginTextObject()
Overrides:
beginTextObject in interface AbstractPathOrientedRenderer

breakOutOfStateStack

protected List breakOutOfStateStack()
Overrides:
breakOutOfStateStack in interface AbstractPathOrientedRenderer

clearViewportList

public void clearViewportList()
Clears the ViewportList. Used if the document is reloaded.

clip

protected void clip()
Overrides:
clip in interface AbstractPathOrientedRenderer

clipRect

protected void clipRect(float x,
                        float y,
                        float width,
                        float height)
Overrides:
clipRect in interface AbstractPathOrientedRenderer

closePath

protected void closePath()
Overrides:
closePath in interface AbstractPathOrientedRenderer

concatenateTransformationMatrix

protected void concatenateTransformationMatrix(AffineTransform at)
Overrides:
concatenateTransformationMatrix in interface AbstractPathOrientedRenderer

createRendererContext

protected RendererContext createRendererContext(int x,
                                                int y,
                                                int width,
                                                int height,
                                                Map foreignAttributes)
Overrides:
createRendererContext in interface PrintRenderer

drawBorderLine

public static void drawBorderLine(Rectangle2D.Float lineRect,
                                  boolean horz,
                                  boolean startOrBefore,
                                  int style,
                                  Color col,
                                  Graphics2D g2d)
Draw a border segment of an XSL-FO style border.
Parameters:
lineRect - the line defined by its bounding rectangle
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
g2d - the Graphics2D instance to paint to

drawBorderLine

protected void drawBorderLine(float x1,
                              float y1,
                              float x2,
                              float y2,
                              boolean horz,
                              boolean startOrBefore,
                              int style,
                              Color col)
Overrides:
drawBorderLine in interface AbstractPathOrientedRenderer

drawImage

protected void drawImage(String uri,
                         Rectangle2D pos,
                         Map foreignAttributes)
Overrides:
drawImage in interface AbstractPathOrientedRenderer

endTextObject

protected void endTextObject()
Overrides:
endTextObject in interface AbstractPathOrientedRenderer

endVParea

protected void endVParea()
Overrides:
endVParea in interface AbstractRenderer

fillRect

protected void fillRect(float x,
                        float y,
                        float width,
                        float height)
Overrides:
fillRect in interface AbstractPathOrientedRenderer

getBufferedImage

protected BufferedImage getBufferedImage(int bitmapWidth,
                                         int bitmapHeight)
Returns a specific BufferedImage to paint a page image on. This method can be overridden in subclasses to produce different image formats (ex. grayscale or b/w).
Parameters:
bitmapWidth - width of the image in pixels
bitmapHeight - heigth of the image in pixels
Returns:
the newly created BufferedImage

getCurrentPageNumber

public int getCurrentPageNumber()
Returns:
The 0-based current page number

getGraphics2DAdapter

public Graphics2DAdapter getGraphics2DAdapter()
Specified by:
getGraphics2DAdapter in interface Renderer
Overrides:
getGraphics2DAdapter in interface AbstractRenderer

getNumberOfPages

public int getNumberOfPages()
Returns:
The 0-based total number of rendered pages

getPageImage

public BufferedImage getPageImage(int pageNum)
            throws FOPException
Generates a desired page from the renderer's page viewport list.
Parameters:
pageNum - the 0-based page number to generate
Returns:
the java.awt.image.BufferedImage corresponding to the page or null if the page doesn't exist.
Throws:
FOPException - If there's a problem preparing the page image

getPageImage

public BufferedImage getPageImage(PageViewport pageViewport)
Generates a desired page from the renderer's page viewport list.
Parameters:
pageViewport - the PageViewport to be rendered
Returns:
the java.awt.image.BufferedImage corresponding to the page or null if the page doesn't exist.

getPageViewport

public PageViewport getPageViewport(int pageNum)
            throws FOPException
Returns a page viewport.
Parameters:
pageNum - the page number
Returns:
the requested PageViewport instance
Throws:
FOPException - If the page is out of range.

getScaleFactor

public double getScaleFactor()
Returns:
the scale factor

getUserAgent

public FOUserAgent getUserAgent()
Overrides:
getUserAgent in interface AbstractRenderer
Returns:
the FOUserAgent

isRenderingDone

public boolean isRenderingDone()
Returns:
true if the renderer is not currently processing

lineTo

protected void lineTo(float x,
                      float y)
Overrides:
lineTo in interface AbstractPathOrientedRenderer

moveTo

protected void moveTo(float x,
                      float y)
Overrides:
moveTo in interface AbstractPathOrientedRenderer

print

public int print(Graphics g,
                 PageFormat pageFormat,
                 int pageIndex)
            throws PrinterException

renderImage

public void renderImage(Image image,
                        Rectangle2D pos)
Overrides:
renderImage in interface AbstractRenderer

renderLeader

public void renderLeader(Leader area)
Render leader area. This renders a leader area which is an area with a rule.
Overrides:
renderLeader in interface AbstractRenderer
Parameters:
area - the leader area to render

renderPage

public void renderPage(PageViewport pageViewport)
            throws IOException
This method override only stores the PageViewport in a List. No actual rendering is performed here. A renderer override renderPage() to get the freshly produced PageViewport, and rendere them on the fly (producing the desired BufferedImages by calling getPageImage(), which lazily starts the rendering process).
Specified by:
renderPage in interface Renderer
Overrides:
renderPage in interface AbstractRenderer
Parameters:
pageViewport - the PageViewport object supplied by the Area Tree
See Also:
Renderer

renderText

public void renderText(TextArea text)
Overrides:
renderText in interface AbstractRenderer

renderText

public static void renderText(TextArea text,
                              Graphics2D g2d,
                              Font font)
Renders a TextArea to a Graphics2D instance. Adjust the coordinate system so that the start of the baseline of the first character is at coordinate (0,0).
Parameters:
text - the TextArea
g2d - the Graphics2D to render to
font - the font to paint with

restoreGraphicsState

protected void restoreGraphicsState()
Restores the last graphics state of the rendering engine.
Overrides:
restoreGraphicsState in interface AbstractPathOrientedRenderer

restoreStateStackAfterBreakOut

protected void restoreStateStackAfterBreakOut(List breakOutList)
java.util.List)
Overrides:
restoreStateStackAfterBreakOut in interface AbstractPathOrientedRenderer

saveGraphicsState

protected void saveGraphicsState()
Saves the graphics state of the rendering engine.
Overrides:
saveGraphicsState in interface AbstractPathOrientedRenderer

setCurrentPageNumber

public void setCurrentPageNumber(int c)
Parameters:
c - the 0-based current page number

setScaleFactor

public void setScaleFactor(double newScaleFactor)
Sets the new scale factor.
Parameters:
newScaleFactor - ]0 ; 1]

setTransparentPageBackground

public void setTransparentPageBackground(boolean transparentPageBackground)
Controls the page background.
Parameters:
transparentPageBackground - true if the background should be transparent

setUserAgent

public void setUserAgent(FOUserAgent foUserAgent)
Specified by:
setUserAgent in interface Renderer
Overrides:
setUserAgent in interface AbstractRenderer

setupFontInfo

public void setupFontInfo(FontInfo inFontInfo)
Specified by:
setupFontInfo in interface Renderer
Overrides:
setupFontInfo in interface PrintRenderer

startRenderer

public void startRenderer(OutputStream out)
            throws IOException
Specified by:
startRenderer in interface Renderer
Overrides:
startRenderer in interface AbstractRenderer

startVParea

protected void startVParea(CTM ctm,
                           Rectangle2D clippingRect)
Overrides:
startVParea in interface AbstractRenderer

stopRenderer

public void stopRenderer()
            throws IOException
Specified by:
stopRenderer in interface Renderer
Overrides:
stopRenderer in interface AbstractRenderer

updateColor

protected void updateColor(Color col,
                           boolean fill)
Overrides:
updateColor in interface AbstractPathOrientedRenderer

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