fop 0.92beta

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 class org.apache.fop.render.AbstractRenderer
containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, log, userAgent
 
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_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_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_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
 
Constructor Summary
Java2DRenderer()
          Default constructor
 
Method Summary
 void clearViewportList()
          Clears the ViewportList.
protected  void clipRect(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()
          Signals exit from a viewport area.
 int getCurrentPageNumber()
           
protected  Font getFontFromArea(Area area)
          Returns a Font object constructed based on the font traits in an area
 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.
protected  void handleRegionTraits(RegionViewport region)
          Handle the traits for a region This is used to draw the traits for the given page region.
 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 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.
protected  void renderInlineAreaBackAndBorders(InlineArea area)
          Common method to render the background and borders for any inline area.
protected  void renderInlineBlockParent(InlineBlockParent ibp)
          Render the given InlineBlockParent.
protected  void renderInlineParent(InlineParent ip)
          Render the given InlineParent.
protected  void renderInlineSpace(Space space)
          Render the given Space.
 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 renderViewport(Viewport viewport)
          Render an inline viewport.
protected  void restoreGraphicsState()
          Restores the last graphics state of the rendering engine.
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 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, java.awt.geom.Rectangle2D clippingRect)
          Establishes a new viewport area.
 void stopRenderer()
          Signals the end of the rendering phase.
 
Methods inherited from class org.apache.fop.render.AbstractRenderer
configure, convertTitleToString, getCurrentPageViewport, getHandlerConfig, getImageAdapter, getMimeType, preparePage, processOffDocumentItem, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFlow, renderFootnote, renderInlineArea, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderWord, renderXML, startPageSequence, supportsOutOfOrder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

Java2DRenderer

public Java2DRenderer()
Default constructor
Method Detail

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 -  

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

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

saveGraphicsState

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

restoreGraphicsState

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

startVParea

protected void startVParea(CTM ctm,
                           java.awt.geom.Rectangle2D clippingRect)
Description copied from class: AbstractRenderer
Establishes a new viewport area.
Overrides:
startVParea in class AbstractRenderer
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.
Overrides:
endVParea in class AbstractRenderer
See Also:
AbstractRenderer.endVParea()

renderInlineSpace

protected void renderInlineSpace(Space space)
Description copied from class: AbstractRenderer
Render the given Space.
Overrides:
renderInlineSpace in class AbstractRenderer
See Also:
AbstractRenderer

renderInlineParent

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

renderInlineBlockParent

protected void renderInlineBlockParent(InlineBlockParent ibp)
Description copied from class: AbstractRenderer
Render the given InlineBlockParent.
Overrides:
renderInlineBlockParent in class AbstractRenderer
See Also:
AbstractRenderer

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)

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

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

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.Background
sx - 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.

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.
Parameters:
area - the inline area for which the background, border and padding is to be rendered

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

getFontFromArea

protected Font getFontFromArea(Area area)
Returns a Font object constructed based on the font traits in an area
Parameters:
area - the area from which to retrieve the font triplet information
Returns:
the requested Font instance or null if not found

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)

renderTextDecoration

protected void renderTextDecoration(Font fs,
                                    InlineArea inline,
                                    float baseline,
                                    float startIPD)
Paints the text decoration marks.
Parameters:
fs - Current font
inline - inline area to paint the marks for
baseline - position of the baseline
startIPD - 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 bitmap
pos - 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 document
ns - Namespace for the document
pos - 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)

fop 0.92beta

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