Package org.apache.fop.render
Class AbstractRenderer
java.lang.Object
org.apache.fop.render.AbstractRenderer
- Direct Known Subclasses:
PrintRenderer
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
Modifier and TypeFieldDescriptionprotected boolean
Is binding on end edge of column?protected boolean
Is binding on start edge of column?protected Direction
The block progression direction (for change bars)protected int
The number of columns in the span (for change bars)protected int
The "end edge" IP Position of the current column (for change bars)protected int
The size of column gap (for change bars)protected int
The index number of the current column (for change bars)protected int
The "left" position of the current column (for change bars)protected int
The "right" position of the current column (for change bars)protected int
The "start edge" IP Position of the current column (for change bars)protected int
The column width (for change bars)protected int
the block progression position of the containing block used for absolutely positioned blocksprotected int
the inline progression position of the containing block used for absolutely positioned blocksprotected int
block progression positionprotected int
inline progression positionprotected PageViewport
the currently active PageViewportprotected Direction
The inline progression direction (for change bars)protected static final org.apache.commons.logging.Log
logging instanceprotected FOUserAgent
user agentFields 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
convertTitleToString
(LineArea title) Utility method to convert a page sequence title to a string.protected void
drawChangeBars
(Area area, List<ChangeBar> changeBarList) Draws all change bars associated with an area.protected abstract void
endLayer()
Finish current optional content group layer.protected abstract void
Signals exit from a viewport area.protected int
Returns the begin offset of the inline begin (changes by reference area transforms).protected PageViewport
Returns the associated user agent.protected void
handleBlockTraits
(Block block) Handle block traits.protected void
Handle the traits for a region This is used to draw the traits for the given page region.protected void
maybeEndLayer
(Area area, boolean inNewLayer) protected boolean
maybeStartLayer
(Area area) protected AffineTransform
Converts a millipoint-based transformation matrix to points.void
preparePage
(PageViewport page) This is called if the renderer supports out of order rendering.void
Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).protected AffineTransform
Converts a point-based transformation matrix to millipoints.protected void
Renders a before float area.protected void
renderBlock
(Block block) Renders a block area.protected void
renderBlocks
(Block parent, List blocks) Renders a list of block areas.protected void
renderBlockViewport
(BlockViewport bv, 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 footnoteprotected void
renderForeignObject
(ForeignObject fo, Rectangle2D pos) Renders a foreign object area.void
renderImage
(Image image, Rectangle2D pos) Renders an image area.protected void
renderInlineArea
(InlineArea inlineArea) Render the given InlineArea.protected abstract void
Common method to render the background and borders for any inline area.protected void
renderInlineBlock
(InlineBlock inlineBlock) Renders an inline block area.protected void
Render the given InlineBlockParent.protected void
Render the given InlineParent.protected void
renderInlineSpace
(Space space) Render the given Space.protected void
renderInlineViewport
(InlineViewport viewport) Render the given Viewport.protected void
renderLeader
(Leader area) Render the given Leader.protected void
renderLineArea
(LineArea line) Renders a line area.protected void
renderMainReference
(MainReference mainReference) 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
Renders a region viewport.protected void
renderSpace
(SpaceArea space) Render the given SpaceArea.protected void
renderText
(TextArea text) Render the given TextArea.protected void
renderWord
(WordArea word) Render the given WordArea.void
renderXML
(RendererContext ctx, Document doc, String namespace) Render the xml document with the given xml namespace.protected void
setBeginOffset
(int offset) Sets the begin offset for inline progression begin (changes by reference area tranforms).void
setDocumentLocale
(Locale locale) abstract void
setupFontInfo
(FontInfo fontInfo) Set up the given FontInfo.protected abstract void
startLayer
(String layer) Establish new optional content group layer.void
startPageSequence
(LineArea seqTitle) Deprecated.void
startPageSequence
(PageSequence pageSequence) Tells the renderer that a new page sequence starts.void
startRenderer
(OutputStream outputStream) Initiates the rendering phase.protected abstract void
startVParea
(CTM ctm, Rectangle clippingRect) Establishes a new viewport area.void
Signals the end of the rendering phase.boolean
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 Details
-
log
protected static final org.apache.commons.logging.Log loglogging instance -
userAgent
user agent -
currentBPPosition
protected int currentBPPositionblock progression position -
currentIPPosition
protected int currentIPPositioninline progression position -
containingBPPosition
protected int containingBPPositionthe block progression position of the containing block used for absolutely positioned blocks -
containingIPPosition
protected int containingIPPositionthe inline progression position of the containing block used for absolutely positioned blocks -
columnStartIPPosition
protected int columnStartIPPositionThe "start edge" IP Position of the current column (for change bars) -
columnEndIPPosition
protected int columnEndIPPositionThe "end edge" IP Position of the current column (for change bars) -
columnLeftIPPosition
protected int columnLeftIPPositionThe "left" position of the current column (for change bars) -
columnRightIPPosition
protected int columnRightIPPositionThe "right" position of the current column (for change bars) -
columnCount
protected int columnCountThe number of columns in the span (for change bars) -
columnIndex
protected int columnIndexThe index number of the current column (for change bars) -
columnWidth
protected int columnWidthThe column width (for change bars) -
columnGap
protected int columnGapThe size of column gap (for change bars) -
blockProgressionDirection
The block progression direction (for change bars) -
inlineProgressionDirection
The inline progression direction (for change bars) -
bindingOnStartEdge
protected boolean bindingOnStartEdgeIs binding on start edge of column? -
bindingOnEndEdge
protected boolean bindingOnEndEdgeIs binding on end edge of column? -
currentPageViewport
the currently active PageViewport
-
-
Constructor Details
-
AbstractRenderer
- Parameters:
userAgent
- the user agent that contains configuration details. This cannot be null.
-
-
Method Details
-
setupFontInfo
Set up the given FontInfo.- Specified by:
setupFontInfo
in interfaceRenderer
- Parameters:
fontInfo
- The font information- Throws:
FOPException
- if an error occurs while setting up the font info object
-
getUserAgent
Returns the associated user agent.- Specified by:
getUserAgent
in interfaceRenderer
- Returns:
- the user agent
-
startRenderer
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 interfaceRenderer
- Parameters:
outputStream
- The OutputStream to use for output- Throws:
IOException
- If an I/O error occurs
-
stopRenderer
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 interfaceRenderer
- Throws:
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 interfaceRenderer
- Returns:
- True if the renderer supports out of order rendering
-
setDocumentLocale
- Specified by:
setDocumentLocale
in interfaceRenderer
- Parameters:
locale
- Locale of the language
-
processOffDocumentItem
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 interfaceRenderer
- Parameters:
odi
- The off-document item to be rendered
-
getGraphics2DAdapter
- Specified by:
getGraphics2DAdapter
in interfaceRenderer
- Returns:
- the adapter for painting Java2D images (or null if not supported)
-
getImageAdapter
- Specified by:
getImageAdapter
in interfaceRenderer
- Returns:
- the adapter for painting RenderedImages (or null if not supported)
-
getCurrentPageViewport
- Returns:
- the current PageViewport or null, if none is active
-
preparePage
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:
preparePage
in interfaceRenderer
- Parameters:
page
- The page viewport to use
-
convertTitleToString
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
Deprecated.Tells the renderer that a new page sequence starts.- Specified by:
startPageSequence
in interfaceRenderer
- Parameters:
seqTitle
- The title of the page sequence
-
startPageSequence
Tells the renderer that a new page sequence starts.- Specified by:
startPageSequence
in interfaceRenderer
- Parameters:
pageSequence
- the page sequence
-
renderPage
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:
renderPage
in interfaceRenderer
- Parameters:
page
- The page to be rendered- Throws:
IOException
- if an I/O error occursFOPException
- if a FOP interal error occurs.
-
renderPageAreas
Renders page areas.- Parameters:
page
- The page whos page areas are to be rendered
-
renderRegionViewport
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
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
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
Renders a region reference area.- Parameters:
region
- The region reference area
-
renderBodyRegion
Renders a body region area.- Parameters:
region
- The body region
-
renderBeforeFloat
Renders a before float area.- Parameters:
bf
- The before float area
-
renderFootnote
Renders a footnote- Parameters:
footnote
- The footnote
-
renderMainReference
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
Renders a flow reference area.- Parameters:
flow
- The flow reference area
-
handleBlockTraits
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
Renders a block viewport.- Parameters:
bv
- The block viewportchildren
- The children to render within the block viewport
-
renderReferenceArea
Renders a block area that represents a reference area. The reference area establishes a new coordinate system.- Parameters:
block
- the block area
-
renderBlocks
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
Renders a block area.- Parameters:
block
- The block area
-
renderInlineBlock
Renders an inline block area.- Parameters:
inlineBlock
- The inline block area
-
startLayer
Establish new optional content group layer.- Parameters:
layer
- name of layer
-
endLayer
protected abstract void endLayer()Finish current optional content group layer. -
maybeStartLayer
-
maybeEndLayer
-
renderLineArea
Renders a line area.A line area may have grouped styling for its children such as underline, background.
- Parameters:
line
- The line area
-
renderInlineArea
Render the given InlineArea.- Parameters:
inlineArea
- inline area text to render
-
renderInlineAreaBackAndBorders
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
Render the given Space.- Parameters:
space
- the space to render
-
renderLeader
Render the given Leader.- Parameters:
area
- the leader to render
-
renderText
Render the given TextArea.- Parameters:
text
- the text to render
-
renderWord
Render the given WordArea.- Parameters:
word
- the word to render
-
renderSpace
Render the given SpaceArea.- Parameters:
space
- the space to render
-
renderInlineParent
Render the given InlineParent.- Parameters:
ip
- the inline parent to render
-
renderInlineBlockParent
Render the given InlineBlockParent.- Parameters:
ibp
- the inline block parent to render
-
renderInlineViewport
Render the given Viewport.- Parameters:
viewport
- the viewport to render
-
renderImage
Renders an image area.- Parameters:
image
- The imagepos
- The target position of the image (todo) Make renderImage() protected
-
renderContainer
Tells the renderer to render an inline container.- Parameters:
cont
- The inline container area
-
renderForeignObject
Renders a foreign object area.- Parameters:
fo
- The foreign object areapos
- The target position of the foreign object (todo) Make renderForeignObject() protected
-
renderXML
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
Converts a millipoint-based transformation matrix to points.- Parameters:
at
- a millipoint-based transformation matrix- Returns:
- a point-based transformation matrix
-
ptToMpt
Converts a point-based transformation matrix to millipoints.- Parameters:
at
- a point-based transformation matrix- Returns:
- a millipoint-based transformation matrix
-
drawChangeBars
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
-