org.apache.fop.render.java2d
Class Java2DRenderer
java.lang.Object
|
+--org.apache.fop.render.AbstractRenderer
|
+--org.apache.fop.render.java2d.Java2DRenderer
- All Implemented Interfaces:
- org.apache.avalon.framework.configuration.Configurable, Constants, java.awt.print.Printable, Renderer
- Direct Known Subclasses:
- AWTRenderer, PNGRenderer, PNGRenderer_onthefly, PrintRenderer, TIFFRenderer
- public abstract class Java2DRenderer
- extends AbstractRenderer
- implements java.awt.print.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 |
protected boolean |
antialiasing
true if antialiasing is set |
protected FontInfo |
fontInfo
Font configuration |
protected java.util.Map |
fontNames
|
protected java.util.Map |
fontStyles
|
protected java.awt.geom.Line2D.Float |
line
a Line2D.Float used to draw text decorations and leaders |
protected int |
pageHeight
The page height in pixels |
protected java.util.List |
pageViewportList
List of Viewports |
protected int |
pageWidth
The page width in pixels |
protected boolean |
qualityRendering
true if qualityRendering is set |
boolean |
renderingDone
true if the renderer has finished rendering all the pages |
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 |
Fields inherited from interface java.awt.print.Printable |
NO_SUCH_PAGE, PAGE_EXISTS |
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_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_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_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_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_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_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, 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_INPUT, 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_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_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_BLOCK_PROGRESSION_UNIT, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK, RENDER_AWT, RENDER_MAX_CONST, RENDER_MIF, RENDER_MIN_CONST, RENDER_PCL, RENDER_PDF, RENDER_PNG, RENDER_PRINT, RENDER_PS, RENDER_RTF, RENDER_SVG, RENDER_TIFF, RENDER_TXT, RENDER_XML, XSLT_INPUT |
Method Summary |
void |
clearViewportList()
Clears the ViewportList.
|
protected void |
clip()
Clip an area. |
protected void |
clip(float x,
float y,
float width,
float height)
Clip an area. write a clipping operation given coordinates in the current
transform. |
protected void |
drawBackAndBorders(Area area,
float startx,
float starty,
float width,
float height)
Draw the background and borders. |
protected void |
drawBackground(Trait.Background back,
float sx,
float sy,
float paddRectWidth,
float paddRectHeight)
Draw the Background Rectangle of a given area. |
protected void |
endVParea()
(todo) Description of the Method |
int |
getCurrentPageNumber()
|
Graphics2DAdapter |
getGraphics2DAdapter()
|
int |
getNumberOfPages()
|
java.awt.image.BufferedImage |
getPageImage(int pageNum)
Generates a desired page from the renderer's page viewport list. |
java.awt.image.BufferedImage |
getPageImage(PageViewport pageViewport)
Generates a desired page from the renderer's page viewport list. |
PageViewport |
getPageViewport(int pageNum)
Returns the page viewport |
double |
getScaleFactor()
|
FOUserAgent |
getUserAgent()
|
protected void |
handleBlockTraits(Block block)
Handle block traits. |
int |
print(java.awt.Graphics g,
java.awt.print.PageFormat pageFormat,
int pageIndex)
|
protected void |
putImage(java.lang.String pUrl,
java.awt.geom.Rectangle2D pos)
Draws an image |
protected void |
renderBlockViewport(BlockViewport bv,
java.util.List children)
Renders a block viewport. |
void |
renderCharacter(Character ch)
Render the given Character. |
void |
renderDocument(org.w3c.dom.Document doc,
java.lang.String ns,
java.awt.geom.Rectangle2D pos)
Renders an XML document (SVG for example). |
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. |
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)
Render the given TextArea. |
protected void |
renderTextDecoration(Font fs,
InlineArea inline,
float baseline,
float startIPD)
Paints the text decoration marks. |
void |
setCurrentPageNumber(int c)
|
void |
setScaleFactor(double newScaleFactor)
Sets the new scale factor. |
void |
setupFontInfo(FontInfo inFontInfo)
Set up the given FontInfo. |
void |
setUserAgent(FOUserAgent foUserAgent)
Set the User Agent. |
void |
startRenderer(java.io.OutputStream out)
Initiates the rendering phase.
|
protected void |
startVParea(CTM ctm)
(todo) Description of the Method |
void |
stopRenderer()
Signals the end of the rendering phase.
|
Methods inherited from class org.apache.fop.render.AbstractRenderer |
configure, convertTitleToString, getMimeType, handleRegionTraits, preparePage, processOffDocumentItem, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFlow, renderFootnote, renderInlineArea, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderViewport, renderWord, renderXML, startPageSequence, supportsOutOfOrder |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
scaleFactor
protected double scaleFactor
- The scale factor for the image size, values: ]0 ; 1]
pageWidth
protected int pageWidth
- The page width in pixels
pageHeight
protected int pageHeight
- The page height in pixels
pageViewportList
protected java.util.List pageViewportList
- List of Viewports
antialiasing
protected boolean antialiasing
- true if antialiasing is set
qualityRendering
protected boolean qualityRendering
- true if qualityRendering is set
state
protected Java2DGraphicsState state
- The current state, holds a Graphics2D and its context
line
protected java.awt.geom.Line2D.Float line
- a Line2D.Float used to draw text decorations and leaders
fontInfo
protected FontInfo fontInfo
- Font configuration
fontNames
protected java.util.Map fontNames
fontStyles
protected java.util.Map fontStyles
renderingDone
public boolean renderingDone
- true if the renderer has finished rendering all the pages
Java2DRenderer
public Java2DRenderer()
- Default constructor
setUserAgent
public void setUserAgent(FOUserAgent foUserAgent)
- Description copied from interface:
Renderer
- Set the User Agent.
- Overrides:
setUserAgent
in class AbstractRenderer
- See Also:
Renderer.setUserAgent(org.apache.fop.apps.FOUserAgent)
getUserAgent
public FOUserAgent getUserAgent()
- Returns:
- the FOUserAgent
setupFontInfo
public void setupFontInfo(FontInfo inFontInfo)
- Description copied from interface:
Renderer
- Set up the given FontInfo.
- Overrides:
setupFontInfo
in class AbstractRenderer
- See Also:
Renderer.setupFontInfo(org.apache.fop.fonts.FontInfo)
getGraphics2DAdapter
public Graphics2DAdapter getGraphics2DAdapter()
- Overrides:
getGraphics2DAdapter
in class AbstractRenderer
- See Also:
Renderer.getGraphics2DAdapter()
setScaleFactor
public void setScaleFactor(double newScaleFactor)
- Sets the new scale factor.
- Parameters:
newScaleFactor
- ]0 ; 1]
getScaleFactor
public double getScaleFactor()
startRenderer
public void startRenderer(java.io.OutputStream out)
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.
- Overrides:
startRenderer
in class AbstractRenderer
- Following copied from class:
org.apache.fop.render.AbstractRenderer
- 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.
- Overrides:
stopRenderer
in class AbstractRenderer
- Following copied from class:
org.apache.fop.render.AbstractRenderer
- See Also:
Renderer.stopRenderer()
getCurrentPageNumber
public int getCurrentPageNumber()
- Returns:
- The 0-based current page number
setCurrentPageNumber
public void setCurrentPageNumber(int c)
- Parameters:
c
- the 0-based current page number
getNumberOfPages
public int getNumberOfPages()
- Returns:
- The 0-based total number of rendered pages
clearViewportList
public void clearViewportList()
- Clears the ViewportList.
Used if the document is reloaded.
renderPage
public void renderPage(PageViewport pageViewport)
throws java.io.IOException,
FOPException
- 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).
- Overrides:
renderPage
in class AbstractRenderer
- Parameters:
pageViewport
- the PageViewport
object supplied by
the Area Tree- See Also:
Renderer
getPageImage
public java.awt.image.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 the page viewport
- Parameters:
pageNum
- the page number- Throws:
FOPException
- If the page is out of range.
getPageImage
public java.awt.image.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
-
startVParea
protected void startVParea(CTM ctm)
- Description copied from class:
AbstractRenderer
- (todo) Description of the Method
- Overrides:
startVParea
in class AbstractRenderer
- See Also:
AbstractRenderer.startVParea(CTM)
endVParea
protected void endVParea()
- Description copied from class:
AbstractRenderer
- (todo) Description of the Method
- Overrides:
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 AbstractRenderer
- See Also:
AbstractRenderer.renderBlockViewport(BlockViewport,
List)
clip
protected void clip()
- Clip an area.
clip
protected void clip(float x,
float y,
float width,
float height)
- Clip an area. write a clipping operation given coordinates in the current
transform.
- Parameters:
x
- the x coordinatey
- the y coordinatewidth
- the width of the areaheight
- the height of the area
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 usedstartx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the area
drawBackground
protected void drawBackground(Trait.Background back,
float sx,
float sy,
float paddRectWidth,
float paddRectHeight)
- Draw the Background Rectangle of a given area.
- Parameters:
back
- the Trait.Backgroundsx
- x coordinate of the rectangle to be filled.sy
- y the y coordinate of the rectangle to be filled.paddRectWidth
- the width of the rectangle to be filled.paddRectHeight
- the height of the rectangle to be filled.
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
renderText
public void renderText(TextArea text)
- Description copied from class:
AbstractRenderer
- Render the given TextArea.
- Overrides:
renderText
in class AbstractRenderer
- See Also:
AbstractRenderer.renderText(TextArea)
renderCharacter
public void renderCharacter(Character ch)
- Description copied from class:
AbstractRenderer
- Render the given Character.
- Overrides:
renderCharacter
in class AbstractRenderer
- See Also:
AbstractRenderer.renderCharacter(Character)
renderTextDecoration
protected void renderTextDecoration(Font fs,
InlineArea inline,
float baseline,
float startIPD)
- Paints the text decoration marks.
- Parameters:
fs
- Current fontinline
- inline area to paint the marks forbaseline
- position of the baselinestartIPD
- start IPD
renderLeader
public void renderLeader(Leader area)
- Render leader area. This renders a leader area which is an area with a
rule.
- Overrides:
renderLeader
in class AbstractRenderer
- Parameters:
area
- the leader area to render
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
- See Also:
AbstractRenderer.renderImage(Image,
Rectangle2D)
putImage
protected void putImage(java.lang.String pUrl,
java.awt.geom.Rectangle2D pos)
- Draws an image
- Parameters:
pUrl
- URL of the bitmappos
- Position of the bitmap
renderForeignObject
public void renderForeignObject(ForeignObject fo,
java.awt.geom.Rectangle2D pos)
- Description copied from class:
AbstractRenderer
- Renders a foreign object area.
- Overrides:
renderForeignObject
in class AbstractRenderer
- See Also:
AbstractRenderer.renderForeignObject(ForeignObject,
Rectangle2D)
renderDocument
public void renderDocument(org.w3c.dom.Document doc,
java.lang.String ns,
java.awt.geom.Rectangle2D pos)
- Renders an XML document (SVG for example).
- Parameters:
doc
- DOM document representing the XML documentns
- Namespace for the documentpos
- Position on the page
print
public int print(java.awt.Graphics g,
java.awt.print.PageFormat pageFormat,
int pageIndex)
throws java.awt.print.PrinterException
- Specified by:
print
in interface java.awt.print.Printable
- See Also:
Printable.print(java.awt.Graphics,
java.awt.print.PageFormat, int)
Copyright 1999-2005 The Apache Software Foundation. All Rights Reserved.