Package org.apache.fop.render
Class AbstractRenderer
- java.lang.Object
-
- org.apache.fop.render.AbstractRenderer
-
- 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
Fields Modifier and Type Field Description protected booleanbindingOnEndEdgeIs binding on end edge of column?protected booleanbindingOnStartEdgeIs binding on start edge of column?protected DirectionblockProgressionDirectionThe block progression direction (for change bars)protected intcolumnCountThe number of columns in the span (for change bars)protected intcolumnEndIPPositionThe "end edge" IP Position of the current column (for change bars)protected intcolumnGapThe size of column gap (for change bars)protected intcolumnIndexThe index number of the current column (for change bars)protected intcolumnLeftIPPositionThe "left" position of the current column (for change bars)protected intcolumnRightIPPositionThe "right" position of the current column (for change bars)protected intcolumnStartIPPositionThe "start edge" IP Position of the current column (for change bars)protected intcolumnWidthThe column width (for change bars)protected intcontainingBPPositionthe block progression position of the containing block used for absolutely positioned blocksprotected intcontainingIPPositionthe inline progression position of the containing block used for absolutely positioned blocksprotected intcurrentBPPositionblock progression positionprotected intcurrentIPPositioninline progression positionprotected PageViewportcurrentPageViewportthe currently active PageViewportprotected DirectioninlineProgressionDirectionThe inline progression direction (for change bars)protected static org.apache.commons.logging.Logloglogging instanceprotected FOUserAgentuserAgentuser agent-
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_BT, 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_INCLUDING_CARRYOVER, 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, 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, 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_SELECT_FIRST_FITTING, 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, EN_TB_LR, 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, 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_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
-
-
Constructor Summary
Constructors Constructor Description AbstractRenderer(FOUserAgent userAgent)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.lang.StringconvertTitleToString(LineArea title)Utility method to convert a page sequence title to a string.protected voiddrawChangeBars(Area area, java.util.List<ChangeBar> changeBarList)Draws all change bars associated with an area.protected abstract voidendLayer()Finish current optional content group layer.protected abstract voidendVParea()Signals exit from a viewport area.protected intgetBeginOffset()Returns the begin offset of the inline begin (changes by reference area transforms).protected PageViewportgetCurrentPageViewport()Graphics2DAdaptergetGraphics2DAdapter()ImageAdaptergetImageAdapter()FOUserAgentgetUserAgent()Returns the associated user agent.protected voidhandleBlockTraits(Block block)Handle block traits.protected voidhandleRegionTraits(RegionViewport rv)Handle the traits for a region This is used to draw the traits for the given page region.protected voidmaybeEndLayer(Area area, boolean inNewLayer)protected booleanmaybeStartLayer(Area area)protected java.awt.geom.AffineTransformmptToPt(java.awt.geom.AffineTransform at)Converts a millipoint-based transformation matrix to points.voidpreparePage(PageViewport page)This is called if the renderer supports out of order rendering.voidprocessOffDocumentItem(OffDocumentItem odi)Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).protected java.awt.geom.AffineTransformptToMpt(java.awt.geom.AffineTransform at)Converts a point-based transformation matrix to millipoints.protected voidrenderBeforeFloat(BeforeFloat bf)Renders a before float area.protected voidrenderBlock(Block block)Renders a block area.protected voidrenderBlocks(Block parent, java.util.List blocks)Renders a list of block areas.protected voidrenderBlockViewport(BlockViewport bv, java.util.List children)Renders a block viewport.protected voidrenderBodyRegion(BodyRegion region)Renders a body region area.protected voidrenderContainer(Container cont)Tells the renderer to render an inline container.protected voidrenderFlow(NormalFlow flow)Renders a flow reference area.protected voidrenderFootnote(Footnote footnote)Renders a footnoteprotected voidrenderForeignObject(ForeignObject fo, java.awt.geom.Rectangle2D pos)Renders a foreign object area.voidrenderImage(Image image, java.awt.geom.Rectangle2D pos)Renders an image area.protected voidrenderInlineArea(InlineArea inlineArea)Render the given InlineArea.protected abstract voidrenderInlineAreaBackAndBorders(InlineArea area)Common method to render the background and borders for any inline area.protected voidrenderInlineBlock(InlineBlock inlineBlock)Renders an inline block area.protected voidrenderInlineBlockParent(InlineBlockParent ibp)Render the given InlineBlockParent.protected voidrenderInlineParent(InlineParent ip)Render the given InlineParent.protected voidrenderInlineSpace(Space space)Render the given Space.protected voidrenderInlineViewport(InlineViewport viewport)Render the given Viewport.protected voidrenderLeader(Leader area)Render the given Leader.protected voidrenderLineArea(LineArea line)Renders a line area.protected voidrenderMainReference(MainReference mainReference)Renders the main reference area.voidrenderPage(PageViewport page)Tells the renderer to render a particular page.protected voidrenderPageAreas(Page page)Renders page areas.protected abstract voidrenderReferenceArea(Block block)Renders a block area that represents a reference area.protected voidrenderRegion(RegionReference region)Renders a region reference area.protected voidrenderRegionViewport(RegionViewport port)Renders a region viewport.protected voidrenderSpace(SpaceArea space)Render the given SpaceArea.protected voidrenderText(TextArea text)Render the given TextArea.protected voidrenderWord(WordArea word)Render the given WordArea.voidrenderXML(RendererContext ctx, org.w3c.dom.Document doc, java.lang.String namespace)Render the xml document with the given xml namespace.protected voidsetBeginOffset(int offset)Sets the begin offset for inline progression begin (changes by reference area tranforms).voidsetDocumentLocale(java.util.Locale locale)abstract voidsetupFontInfo(FontInfo fontInfo)Set up the given FontInfo.protected abstract voidstartLayer(java.lang.String layer)Establish new optional content group layer.voidstartPageSequence(LineArea seqTitle)Deprecated.voidstartPageSequence(PageSequence pageSequence)Tells the renderer that a new page sequence starts.voidstartRenderer(java.io.OutputStream outputStream)Initiates the rendering phase.protected abstract voidstartVParea(CTM ctm, java.awt.Rectangle clippingRect)Establishes a new viewport area.voidstopRenderer()Signals the end of the rendering phase.booleansupportsOutOfOrder()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 final 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
-
columnStartIPPosition
protected int columnStartIPPosition
The "start edge" IP Position of the current column (for change bars)
-
columnEndIPPosition
protected int columnEndIPPosition
The "end edge" IP Position of the current column (for change bars)
-
columnLeftIPPosition
protected int columnLeftIPPosition
The "left" position of the current column (for change bars)
-
columnRightIPPosition
protected int columnRightIPPosition
The "right" position of the current column (for change bars)
-
columnCount
protected int columnCount
The number of columns in the span (for change bars)
-
columnIndex
protected int columnIndex
The index number of the current column (for change bars)
-
columnWidth
protected int columnWidth
The column width (for change bars)
-
columnGap
protected int columnGap
The size of column gap (for change bars)
-
blockProgressionDirection
protected Direction blockProgressionDirection
The block progression direction (for change bars)
-
inlineProgressionDirection
protected Direction inlineProgressionDirection
The inline progression direction (for change bars)
-
bindingOnStartEdge
protected boolean bindingOnStartEdge
Is binding on start edge of column?
-
bindingOnEndEdge
protected boolean bindingOnEndEdge
Is binding on end edge of column?
-
currentPageViewport
protected PageViewport currentPageViewport
the currently active PageViewport
-
-
Constructor Detail
-
AbstractRenderer
public AbstractRenderer(FOUserAgent userAgent)
- Parameters:
userAgent- the user agent that contains configuration details. This cannot be null.
-
-
Method Detail
-
setupFontInfo
public abstract void setupFontInfo(FontInfo fontInfo) throws FOPException
Set up the given FontInfo.- Specified by:
setupFontInfoin interfaceRenderer- Parameters:
fontInfo- The font information- Throws:
FOPException- if an error occurs while setting up the font info object
-
getUserAgent
public FOUserAgent getUserAgent()
Returns the associated user agent.- Specified by:
getUserAgentin interfaceRenderer- Returns:
- the user agent
-
startRenderer
public void startRenderer(java.io.OutputStream outputStream) throws java.io.IOExceptionInitiates 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:
startRendererin interfaceRenderer- 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.IOExceptionSignals 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:
stopRendererin interfaceRenderer- 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:
supportsOutOfOrderin interfaceRenderer- Returns:
- True if the renderer supports out of order rendering
-
setDocumentLocale
public void setDocumentLocale(java.util.Locale locale)
- Specified by:
setDocumentLocalein interfaceRenderer- Parameters:
locale- Locale of the language
-
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:
processOffDocumentItemin interfaceRenderer- Parameters:
odi- The off-document item to be rendered
-
getGraphics2DAdapter
public Graphics2DAdapter getGraphics2DAdapter()
- Specified by:
getGraphics2DAdapterin interfaceRenderer- Returns:
- the adapter for painting Java2D images (or null if not supported)
-
getImageAdapter
public ImageAdapter getImageAdapter()
- Specified by:
getImageAdapterin interfaceRenderer- 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 toRenderer.renderPage(PageViewport).- Specified by:
preparePagein interfaceRenderer- 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)
Deprecated.Tells the renderer that a new page sequence starts.- Specified by:
startPageSequencein interfaceRenderer- 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:
startPageSequencein interfaceRenderer- 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 responds by packing up the current page and writing it immediately to the output device.- Specified by:
renderPagein interfaceRenderer- Parameters:
page- The page to be rendered- Throws:
java.io.IOException- if an I/O error occursFOPException- 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.Rectangle clippingRect)
Establishes a new viewport area.- Parameters:
ctm- the coordinate transformation matrix to useclippingRect- 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 mainReference)
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:
mainReference- 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 viewportchildren- 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
-
renderInlineBlock
protected void renderInlineBlock(InlineBlock inlineBlock)
Renders an inline block area.- Parameters:
inlineBlock- The inline block area
-
startLayer
protected abstract void startLayer(java.lang.String layer)
Establish new optional content group layer.- Parameters:
layer- name of layer
-
endLayer
protected abstract void endLayer()
Finish current optional content group layer.
-
maybeStartLayer
protected boolean maybeStartLayer(Area area)
-
maybeEndLayer
protected void maybeEndLayer(Area area, boolean inNewLayer)
-
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
-
renderInlineViewport
protected void renderInlineViewport(InlineViewport 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 imagepos- 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 areapos- 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 contextdoc- DOM Document containing the source documentnamespace- 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
-
drawChangeBars
protected void drawChangeBars(Area area, java.util.List<ChangeBar> changeBarList)
Draws all change bars associated with an area.- Parameters:
area- The area to draw change bars forchangeBarList- The list of change bars affecting the area
-
getBeginOffset
protected int getBeginOffset()
Returns the begin offset of the inline begin (changes by reference area transforms).- Returns:
- the offset from current coordinate system 0 that the IP begin is at
-
setBeginOffset
protected void setBeginOffset(int offset)
Sets the begin offset for inline progression begin (changes by reference area tranforms).- Parameters:
offset- the new offset from IPP 0 that true IP start is at
-
-