Class IFRenderer
java.lang.Object
org.apache.fop.render.AbstractRenderer
org.apache.fop.render.PrintRenderer
org.apache.fop.render.AbstractPathOrientedRenderer
org.apache.fop.render.intermediate.IFRenderer
This renderer implementation is an adapter to the
IFPainter
interface. It is used
to generate content using FOP's intermediate format.-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
XML MIME typeprotected static final org.apache.commons.logging.Log
logging instanceprotected Renderer
If not null, the XMLRenderer will mimic another renderer by using its font setup.protected Map
Maps unique PageViewport key to page indices (for link target handling)Fields inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
FOX_TRANSFORM
Fields inherited from class org.apache.fop.render.PrintRenderer
embedFontInfoList, fontInfo
Fields inherited from class org.apache.fop.render.AbstractRenderer
bindingOnEndEdge, bindingOnStartEdge, blockProgressionDirection, columnCount, columnEndIPPosition, columnGap, columnIndex, columnLeftIPPosition, columnRightIPPosition, columnStartIPPosition, columnWidth, containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, inlineProgressionDirection, userAgent
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Indicates the beginning of a text object.protected List
Breaks out of the state stack to handle fixed block-containers.protected void
clip()
Clip using the current path.protected void
clipBackground
(float startx, float starty, float width, float height, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd) TODO represent border related parameters in a class Clip the background to the inner border.protected void
clipRect
(float x, float y, float width, float height) Clip using a rectangular area.protected void
Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.protected void
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.protected IFDocumentHandler
Creates a defaultIFDocumentHandler
when none has been set.protected void
drawBackground
(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd) Draw the background.protected void
drawBorderLine
(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col) Draw a border segment of an XSL-FO style border.protected void
drawBorders
(float startx, float starty, float width, float height, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd, int level, Color innerBackgroundColor) Draw the borders.protected void
drawImage
(String uri, Rectangle2D pos, Map foreignAttributes) Draw an image at the indicated location.protected void
endLayer()
Finish current optional content group layer.protected void
Indicates the end of a text object.protected void
Signals exit from a viewport area.protected void
fillRect
(float x, float y, float width, float height) Fill a rectangular area.protected IFDocumentNavigationHandler
Returns the document navigation handler if available/supported.Get the MIME type of the renderer.protected boolean
Indicates whether document navigation features are supported by the document handler.protected void
lineTo
(float x, float y) Appends a straight line segment from the current point to (x, y).protected void
moveTo
(float x, float y) Moves the current point to (x, y), omitting any connecting line segment.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 void
renderBlock
(Block block) Renders a block area.protected void
renderBlockViewport
(BlockViewport bv, List children) Renders a block viewport.protected void
renderBookmarkTree
(BookmarkData bookmarks) Renders a Bookmark-Tree objectvoid
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.void
Render the given InlineParent.void
renderInlineViewport
(InlineViewport viewport) Render an inline viewport.void
renderLeader
(Leader area) Render the given Leader.void
renderPage
(PageViewport page) Tells the renderer to render a particular page.protected void
renderRegionViewport
(RegionViewport viewport) 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.protected void
Restores the last graphics state of the rendering engine.protected void
restoreStateStackAfterBreakOut
(List breakOutList) Restores the state stack after a break out.protected void
Saves the graphics state of the rendering engine.void
setDocumentHandler
(IFDocumentHandler documentHandler) Sets theIFDocumentHandler
to be used by theIFRenderer
.void
setDocumentLocale
(Locale locale) void
setupFontInfo
(FontInfo inFontInfo) Set up the given FontInfo.protected void
startLayer
(String layer) Establish new optional content group layer.void
startPageSequence
(PageSequence pageSequence) Tells the renderer that a new page sequence starts.void
startRenderer
(OutputStream outputStream) Initiates the rendering phase.protected 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.protected void
updateColor
(Color col, boolean fill) Establishes a new foreground or fill color.Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
drawBackAndBorders, drawBackAndBorders, drawBackground, drawBorders, drawImage, establishTransformationMatrix, handleBlockTraits, handleRegionTraits, renderFlow, renderInlineAreaBackAndBorders, renderReferenceArea, renderTextDecoration
Methods inherited from class org.apache.fop.render.PrintRenderer
addFontList, createRendererContext, getFontFromArea, getFontInfo, getFontList, getInternalFontNameForArea, instantiateRendererContext, renderDocument, setFontList
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, drawChangeBars, getBeginOffset, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getUserAgent, maybeEndLayer, maybeStartLayer, mptToPt, ptToMpt, renderBeforeFloat, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderInlineBlock, renderInlineBlockParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderXML, setBeginOffset, startPageSequence
-
Field Details
-
log
protected static final org.apache.commons.logging.Log loglogging instance -
IF_MIME_TYPE
XML MIME type- See Also:
-
mimic
If not null, the XMLRenderer will mimic another renderer by using its font setup. -
pageIndices
Maps unique PageViewport key to page indices (for link target handling)
-
-
Constructor Details
-
IFRenderer
Main constructor- Parameters:
userAgent
- the user agent that contains configuration details. This cannot be null.
-
-
Method Details
-
getMimeType
Get the MIME type of the renderer.- Returns:
- The MIME type of the renderer, may return null if not applicable.
-
setDocumentHandler
Sets theIFDocumentHandler
to be used by theIFRenderer
.- Parameters:
documentHandler
- theIFDocumentHandler
-
setupFontInfo
Set up the given FontInfo.- Specified by:
setupFontInfo
in interfaceRenderer
- Overrides:
setupFontInfo
in classPrintRenderer
- Parameters:
inFontInfo
- The font information- Throws:
FOPException
- if an error occurs while setting up the font info object
-
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
- Overrides:
supportsOutOfOrder
in classAbstractRenderer
- Returns:
- True if the renderer supports out of order rendering
-
createDefaultDocumentHandler
Creates a defaultIFDocumentHandler
when none has been set.- Returns:
- the default IFDocumentHandler
-
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
- Overrides:
startRenderer
in classAbstractRenderer
- 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
- Overrides:
stopRenderer
in classAbstractRenderer
- Throws:
IOException
- If an I/O error occurs
-
setDocumentLocale
Description copied from class:AbstractRenderer
- Specified by:
setDocumentLocale
in interfaceRenderer
- Overrides:
setDocumentLocale
in classAbstractRenderer
- 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
- Overrides:
processOffDocumentItem
in classAbstractRenderer
- Parameters:
odi
- The off-document item to be rendered
-
renderBookmarkTree
Renders a Bookmark-Tree object- Parameters:
bookmarks
- the BookmarkData object containing all the Bookmark-Items
-
startPageSequence
Tells the renderer that a new page sequence starts.- Specified by:
startPageSequence
in interfaceRenderer
- Overrides:
startPageSequence
in classAbstractRenderer
- Parameters:
pageSequence
- the page sequence
-
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
- Overrides:
preparePage
in classAbstractRenderer
- Parameters:
page
- The page viewport to use
-
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
- Overrides:
renderPage
in classAbstractRenderer
- Parameters:
page
- The page to be rendered- Throws:
IOException
- if an I/O error occursFOPException
- if a FOP interal error occurs.
-
saveGraphicsState
protected void saveGraphicsState()Saves the graphics state of the rendering engine.- Specified by:
saveGraphicsState
in classAbstractPathOrientedRenderer
-
restoreGraphicsState
protected void restoreGraphicsState()Restores the last graphics state of the rendering engine.- Specified by:
restoreGraphicsState
in classAbstractPathOrientedRenderer
-
breakOutOfStateStack
Breaks out of the state stack to handle fixed block-containers.- Specified by:
breakOutOfStateStack
in classAbstractPathOrientedRenderer
- Returns:
- the saved state stack to recreate later
-
restoreStateStackAfterBreakOut
Restores the state stack after a break out.- Specified by:
restoreStateStackAfterBreakOut
in classAbstractPathOrientedRenderer
- Parameters:
breakOutList
- the state stack to restore.
-
concatenateTransformationMatrix
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.- Specified by:
concatenateTransformationMatrix
in classAbstractPathOrientedRenderer
- Parameters:
at
- the transformation matrix to process (coordinates in points)
-
beginTextObject
protected void beginTextObject()Indicates the beginning of a text object.- Specified by:
beginTextObject
in classAbstractPathOrientedRenderer
-
endTextObject
protected void endTextObject()Indicates the end of a text object.- Specified by:
endTextObject
in classAbstractPathOrientedRenderer
-
renderRegionViewport
Renders a region viewport.The region may clip the area and it establishes a position from where the region is placed.
- Overrides:
renderRegionViewport
in classAbstractRenderer
- Parameters:
viewport
- The region viewport to be rendered
-
renderBlockViewport
Renders a block viewport.- Overrides:
renderBlockViewport
in classAbstractPathOrientedRenderer
- Parameters:
bv
- The block viewportchildren
- The children to render within the block viewport
-
renderInlineViewport
Render an inline viewport. This renders an inline viewport by clipping if necessary.- Overrides:
renderInlineViewport
in classAbstractPathOrientedRenderer
- Parameters:
viewport
- the viewport to handle
-
startVParea
Establishes a new viewport area.- Specified by:
startVParea
in classAbstractRenderer
- 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 void endVParea()Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.- Specified by:
endVParea
in classAbstractRenderer
-
startLayer
Establish new optional content group layer.- Specified by:
startLayer
in classAbstractRenderer
- Parameters:
layer
- name of layer
-
endLayer
protected void endLayer()Finish current optional content group layer.- Specified by:
endLayer
in classAbstractRenderer
-
renderInlineArea
Render the given InlineArea.- Overrides:
renderInlineArea
in classAbstractRenderer
- Parameters:
inlineArea
- inline area text to render
-
renderInlineParent
Render the given InlineParent.- Overrides:
renderInlineParent
in classAbstractRenderer
- Parameters:
ip
- the inline parent to render
-
renderBlock
Renders a block area.- Overrides:
renderBlock
in classAbstractRenderer
- Parameters:
block
- The block area
-
renderText
Render the given TextArea.- Overrides:
renderText
in classAbstractRenderer
- Parameters:
text
- the text to render
-
renderWord
Render the given WordArea.- Overrides:
renderWord
in classAbstractRenderer
- Parameters:
word
- the word to render
-
renderSpace
Render the given SpaceArea.- Overrides:
renderSpace
in classAbstractRenderer
- Parameters:
space
- the space to render
-
renderImage
Renders an image area.- Overrides:
renderImage
in classAbstractRenderer
- Parameters:
image
- The imagepos
- The target position of the image (todo) Make renderImage() protected
-
drawImage
Draw an image at the indicated location.- Specified by:
drawImage
in classAbstractPathOrientedRenderer
- Parameters:
uri
- the URI/URL of the imagepos
- the position of the imageforeignAttributes
- an optional Map with foreign attributes, may be null
-
renderForeignObject
Renders a foreign object area.- Overrides:
renderForeignObject
in classAbstractPathOrientedRenderer
- Parameters:
fo
- The foreign object areapos
- The target position of the foreign object (todo) Make renderForeignObject() protected
-
renderLeader
Render the given Leader.- Overrides:
renderLeader
in classAbstractRenderer
- Parameters:
area
- the leader to render
-
clip
protected void clip()Clip using the current path.- Specified by:
clip
in classAbstractPathOrientedRenderer
-
clipRect
protected void clipRect(float x, float y, float width, float height) Clip using a rectangular area.- Specified by:
clipRect
in classAbstractPathOrientedRenderer
- Parameters:
x
- the x coordinate (in points)y
- the y coordinate (in points)width
- the width of the rectangle (in points)height
- the height of the rectangle (in points)
-
clipBackground
protected void clipBackground(float startx, float starty, float width, float height, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd) TODO represent border related parameters in a class Clip the background to the inner border. This draws the border traits given the position and the traits.- Overrides:
clipBackground
in classAbstractPathOrientedRenderer
- Parameters:
startx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the areabpsBefore
- the border-before traitsbpsAfter
- the border-after traitsbpsStart
- the border-start traitsbpsEnd
- the border-end traits
-
closePath
protected void closePath()Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.- Specified by:
closePath
in classAbstractPathOrientedRenderer
-
drawBackground
protected void drawBackground(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd) Draw the background. This draws the background given the position and the traits.- Overrides:
drawBackground
in classAbstractPathOrientedRenderer
- Parameters:
startx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the areaback
- the background traitsbpsBefore
- the border specification on the top edgebpsAfter
- the border traits associated with bottom edgebpsStart
- the border specification on the left edgebpsEnd
- the border specification on the right edge
-
drawBorders
protected void drawBorders(float startx, float starty, float width, float height, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd, int level, Color innerBackgroundColor) Draw the borders. This draws the border traits given the position and the traits.- Overrides:
drawBorders
in classAbstractPathOrientedRenderer
- Parameters:
startx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the areabpsBefore
- the border traits associated with before edgebpsAfter
- the border traits associated with after edgebpsStart
- the border traits associated with start edgebpsEnd
- the border traits associated with end edgelevel
- of bidirectional embeddinginnerBackgroundColor
- the background color of the block
-
drawBorderLine
protected void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col) Draw a border segment of an XSL-FO style border.- Specified by:
drawBorderLine
in classAbstractPathOrientedRenderer
- Parameters:
x1
- starting x coordinatey1
- starting y coordinatex2
- ending x coordinatey2
- ending y coordinatehorz
- true for horizontal border segments, false for vertical border segmentsstartOrBefore
- true for border segments on the start or before edge, false for end or after.style
- the border style (one of Constants.EN_DASHED etc.)col
- the color for the border segment
-
fillRect
protected void fillRect(float x, float y, float width, float height) Fill a rectangular area.- Specified by:
fillRect
in classAbstractPathOrientedRenderer
- Parameters:
x
- the x coordinatey
- the y coordinatewidth
- the width of the rectangleheight
- the height of the rectangle
-
moveTo
protected void moveTo(float x, float y) Moves the current point to (x, y), omitting any connecting line segment.- Specified by:
moveTo
in classAbstractPathOrientedRenderer
- Parameters:
x
- x coordinatey
- y coordinate
-
lineTo
protected void lineTo(float x, float y) Appends a straight line segment from the current point to (x, y). The new current point is (x, y).- Specified by:
lineTo
in classAbstractPathOrientedRenderer
- Parameters:
x
- x coordinatey
- y coordinate
-
updateColor
Establishes a new foreground or fill color.- Specified by:
updateColor
in classAbstractPathOrientedRenderer
- Parameters:
col
- the color to apply (null skips this operation)fill
- true to set the fill color, false for the foreground color
-