fop 1.0

org.apache.fop.render
Class AbstractRenderer

java.lang.Object
  extended by org.apache.fop.render.AbstractRenderer
All Implemented Interfaces:
Constants, Renderer
Direct Known Subclasses:
PrintRenderer

public abstract class AbstractRenderer
extends java.lang.Object
implements Renderer, Constants

Abstract base class for all renderers. The Abstract renderer does all the top level processing of the area tree and adds some abstract methods to handle viewports. This keeps track of the current block and inline position.


Field Summary
protected  int containingBPPosition
          the block progression position of the containing block used for absolutely positioned blocks
protected  int containingIPPosition
          the inline progression position of the containing block used for absolutely positioned blocks
protected  int currentBPPosition
          block progression position
protected  int currentIPPosition
          inline progression position
protected  PageViewport currentPageViewport
          the currently active PageViewport
protected static org.apache.commons.logging.Log log
          logging instance
protected  FOUserAgent userAgent
          user agent
 
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_ALTERNATE, 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_FIRST_STARTING, 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_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, 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_REPLACE, 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_TABLE, EN_TABLE_FRAGMENT, 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_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, 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_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, 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_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, 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_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, 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_INTRINSIC_SCALE_VALUE, 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_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, 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_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, 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_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, 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_ALT_TEXT, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_DISABLE_COLUMN_BALANCING, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_PTR, PR_X_WIDOW_CONTENT_LIMIT, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
 
Constructor Summary
AbstractRenderer()
           
 
Method Summary
protected  java.lang.String convertTitleToString(LineArea title)
          Utility method to convert a page sequence title to a string.
protected abstract  void endVParea()
          Signals exit from a viewport area.
protected  PageViewport getCurrentPageViewport()
           
 Graphics2DAdapter getGraphics2DAdapter()
          
 ImageAdapter getImageAdapter()
          
 FOUserAgent getUserAgent()
          Returns the associated user agent.
protected  void handleBlockTraits(Block block)
          Handle block traits.
protected  void handleRegionTraits(RegionViewport rv)
          Handle the traits for a region This is used to draw the traits for the given page region.
protected  java.awt.geom.AffineTransform mptToPt(java.awt.geom.AffineTransform at)
          Converts a millipoint-based transformation matrix to points.
 void preparePage(PageViewport page)
          This is called if the renderer supports out of order rendering.
 void processOffDocumentItem(OffDocumentItem odi)
          Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).
protected  java.awt.geom.AffineTransform ptToMpt(java.awt.geom.AffineTransform at)
          Converts a point-based transformation matrix to millipoints.
protected  void renderBeforeFloat(BeforeFloat bf)
          Renders a before float area.
protected  void renderBlock(Block block)
          Renders a block area.
protected  void renderBlocks(Block parent, java.util.List blocks)
          Renders a list of block areas.
protected  void renderBlockViewport(BlockViewport bv, java.util.List children)
          Renders a block viewport.
protected  void renderBodyRegion(BodyRegion region)
          Renders a body region area.
protected  void renderContainer(Container cont)
          Tells the renderer to render an inline container.
protected  void renderFlow(NormalFlow flow)
          Renders a flow reference area.
protected  void renderFootnote(Footnote footnote)
          Renders a footnote
protected  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 renderInlineArea(InlineArea inlineArea)
          Render the given InlineArea.
protected abstract  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.
protected  void renderLeader(Leader area)
          Render the given Leader.
protected  void renderLineArea(LineArea line)
          Renders a line area.
protected  void renderMainReference(MainReference mr)
          Renders the main reference area.
 void renderPage(PageViewport page)
          Tells the renderer to render a particular page.
protected  void renderPageAreas(Page page)
          Renders page areas.
protected abstract  void renderReferenceArea(Block block)
          Renders a block area that represents a reference area.
protected  void renderRegion(RegionReference region)
          Renders a region reference area.
protected  void renderRegionViewport(RegionViewport port)
          Renders a region viewport.
protected  void renderSpace(SpaceArea space)
          Render the given SpaceArea.
protected  void renderText(TextArea text)
          Render the given TextArea.
protected  void renderViewport(Viewport viewport)
          Render the given Viewport.
protected  void renderWord(WordArea word)
          Render the given WordArea.
 void renderXML(RendererContext ctx, org.w3c.dom.Document doc, java.lang.String namespace)
          Render the xml document with the given xml namespace.
abstract  void setupFontInfo(FontInfo fontInfo)
          Set up the given FontInfo.
 void setUserAgent(FOUserAgent agent)
          Set the User Agent.
 void startPageSequence(LineArea seqTitle)
          Tells the renderer that a new page sequence starts.
 void startPageSequence(PageSequence pageSequence)
          Tells the renderer that a new page sequence starts.
 void startRenderer(java.io.OutputStream outputStream)
          Initiates the rendering phase.
protected abstract  void startVParea(CTM ctm, java.awt.geom.Rectangle2D clippingRect)
          Establishes a new viewport area.
 void stopRenderer()
          Signals the end of the rendering phase.
 boolean supportsOutOfOrder()
          Check if this renderer supports out of order rendering.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.fop.render.Renderer
getMimeType
 

Field Detail

log

protected static org.apache.commons.logging.Log log
logging instance


userAgent

protected FOUserAgent userAgent
user agent


currentBPPosition

protected int currentBPPosition
block progression position


currentIPPosition

protected int currentIPPosition
inline progression position


containingBPPosition

protected int containingBPPosition
the block progression position of the containing block used for absolutely positioned blocks


containingIPPosition

protected int containingIPPosition
the inline progression position of the containing block used for absolutely positioned blocks


currentPageViewport

protected PageViewport currentPageViewport
the currently active PageViewport

Constructor Detail

AbstractRenderer

public AbstractRenderer()
Method Detail

setupFontInfo

public abstract void setupFontInfo(FontInfo fontInfo)
                            throws FOPException
Set up the given FontInfo.

Specified by:
setupFontInfo in interface Renderer
Parameters:
fontInfo - The font information
Throws:
FOPException - if an error occurs while setting up the font info object

setUserAgent

public void setUserAgent(FOUserAgent agent)
Set the User Agent.

Specified by:
setUserAgent in interface Renderer
Parameters:
agent - The User Agent

getUserAgent

public FOUserAgent getUserAgent()
Returns the associated user agent.

Specified by:
getUserAgent in interface Renderer
Returns:
the user agent

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
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
Throws:
java.io.IOException - If an I/O error occurs

supportsOutOfOrder

public boolean supportsOutOfOrder()
Check if this renderer supports out of order rendering. If this renderer supports out of order rendering then it means that the pages that are not ready will be prepared and a future page will be rendered.

Specified by:
supportsOutOfOrder in interface Renderer
Returns:
True if the renderer supports out of order rendering

processOffDocumentItem

public void processOffDocumentItem(OffDocumentItem odi)
Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks). Note - not all renderers will process all off-document items.

Specified by:
processOffDocumentItem in interface Renderer
Parameters:
odi - The off-document item to be rendered

getGraphics2DAdapter

public Graphics2DAdapter getGraphics2DAdapter()

Specified by:
getGraphics2DAdapter in interface Renderer
Returns:
the adapter for painting Java2D images (or null if not supported)

getImageAdapter

public ImageAdapter getImageAdapter()

Specified by:
getImageAdapter in interface Renderer
Returns:
the adapter for painting RenderedImages (or null if not supported)

getCurrentPageViewport

protected PageViewport getCurrentPageViewport()
Returns:
the current PageViewport or null, if none is active

preparePage

public void preparePage(PageViewport page)
This is called if the renderer supports out of order rendering. The renderer should prepare the page so that a page further on in the set of pages can be rendered. The body of the page should not be rendered. The page will be rendered at a later time by the call to Renderer.renderPage(PageViewport).

Specified by:
preparePage in interface Renderer
Parameters:
page - The page viewport to use

convertTitleToString

protected java.lang.String convertTitleToString(LineArea title)
Utility method to convert a page sequence title to a string. Some renderers may only be able to use a string title. A title is a sequence of inline areas that this method attempts to convert to an equivalent string.

Parameters:
title - The Title to convert
Returns:
An expanded string representing the title

startPageSequence

public void startPageSequence(LineArea seqTitle)
Tells the renderer that a new page sequence starts.

Specified by:
startPageSequence in interface Renderer
Parameters:
seqTitle - The title of the page sequence

startPageSequence

public void startPageSequence(PageSequence pageSequence)
Tells the renderer that a new page sequence starts.

Specified by:
startPageSequence in interface Renderer
Parameters:
pageSequence - the page sequence

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
Parameters:
page - The page to be rendered
Throws:
java.io.IOException - if an I/O error occurs
FOPException - if a FOP interal error occurs.

renderPageAreas

protected void renderPageAreas(Page page)
Renders page areas.

Parameters:
page - The page whos page areas are to be rendered

renderRegionViewport

protected void renderRegionViewport(RegionViewport port)
Renders a region viewport.

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

Parameters:
port - The region viewport to be rendered

startVParea

protected abstract void startVParea(CTM ctm,
                                    java.awt.geom.Rectangle2D clippingRect)
Establishes a new viewport area.

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 abstract void endVParea()
Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.


handleRegionTraits

protected void handleRegionTraits(RegionViewport rv)
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.)

Parameters:
rv - the RegionViewport whose region is to be drawn

renderRegion

protected void renderRegion(RegionReference region)
Renders a region reference area.

Parameters:
region - The region reference area

renderBodyRegion

protected void renderBodyRegion(BodyRegion region)
Renders a body region area.

Parameters:
region - The body region

renderBeforeFloat

protected void renderBeforeFloat(BeforeFloat bf)
Renders a before float area.

Parameters:
bf - The before float area

renderFootnote

protected void renderFootnote(Footnote footnote)
Renders a footnote

Parameters:
footnote - The footnote

renderMainReference

protected void renderMainReference(MainReference mr)
Renders the main reference area.

The main reference area contains a list of spans that are stacked on the page. The spans contain a list of normal flow reference areas that are positioned into columns.

Parameters:
mr - The main reference area

renderFlow

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

Parameters:
flow - The flow reference area

handleBlockTraits

protected void handleBlockTraits(Block block)
Handle block traits. This method is called when the correct ip and bp posiiton is set. This should be overridden to draw border and background traits for the block area.

Parameters:
block - the block area

renderBlockViewport

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

Parameters:
bv - The block viewport
children - The children to render within the block viewport

renderReferenceArea

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

Parameters:
block - the block area

renderBlocks

protected void renderBlocks(Block parent,
                            java.util.List blocks)
Renders a list of block areas.

Parameters:
parent - the parent block if the parent is a block, otherwise a null value.
blocks - The block areas

renderBlock

protected void renderBlock(Block block)
Renders a block area.

Parameters:
block - The block area

renderLineArea

protected void renderLineArea(LineArea line)
Renders a line area.

A line area may have grouped styling for its children such as underline, background.

Parameters:
line - The line area

renderInlineArea

protected void renderInlineArea(InlineArea inlineArea)
Render the given InlineArea.

Parameters:
inlineArea - inline area text to render

renderInlineAreaBackAndBorders

protected abstract 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

renderInlineSpace

protected void renderInlineSpace(Space space)
Render the given Space.

Parameters:
space - the space to render

renderLeader

protected void renderLeader(Leader area)
Render the given Leader.

Parameters:
area - the leader to render

renderText

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

Parameters:
text - the text to render

renderWord

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

Parameters:
word - the word to render

renderSpace

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

Parameters:
space - the space to render

renderInlineParent

protected void renderInlineParent(InlineParent ip)
Render the given InlineParent.

Parameters:
ip - the inline parent to render

renderInlineBlockParent

protected void renderInlineBlockParent(InlineBlockParent ibp)
Render the given InlineBlockParent.

Parameters:
ibp - the inline block parent to render

renderViewport

protected void renderViewport(Viewport viewport)
Render the given Viewport.

Parameters:
viewport - the viewport to render

renderImage

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

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

renderContainer

protected void renderContainer(Container cont)
Tells the renderer to render an inline container.

Parameters:
cont - The inline container area

renderForeignObject

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

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

renderXML

public void renderXML(RendererContext ctx,
                      org.w3c.dom.Document doc,
                      java.lang.String namespace)
Render the xml document with the given xml namespace. The Render Context is by the handle to render into the current rendering target.

Parameters:
ctx - rendering context
doc - DOM Document containing the source document
namespace - Namespace URI of the document

mptToPt

protected java.awt.geom.AffineTransform mptToPt(java.awt.geom.AffineTransform at)
Converts a millipoint-based transformation matrix to points.

Parameters:
at - a millipoint-based transformation matrix
Returns:
a point-based transformation matrix

ptToMpt

protected java.awt.geom.AffineTransform ptToMpt(java.awt.geom.AffineTransform at)
Converts a point-based transformation matrix to millipoints.

Parameters:
at - a point-based transformation matrix
Returns:
a millipoint-based transformation matrix

fop 1.0

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