Package org.apache.fop.render
Class AbstractPathOrientedRenderer
- java.lang.Object
-
- org.apache.fop.render.AbstractRenderer
-
- org.apache.fop.render.PrintRenderer
-
- org.apache.fop.render.AbstractPathOrientedRenderer
-
- Direct Known Subclasses:
IFRenderer
,Java2DRenderer
,TXTRenderer
public abstract class AbstractPathOrientedRenderer extends PrintRenderer
Abstract base class for renderers like PDF and PostScript where many painting operations follow similar patterns which makes it possible to share some code.
-
-
Field Summary
Fields Modifier and Type Field Description private static int
BOTTOM
protected static org.apache.xmlgraphics.util.QName
FOX_TRANSFORM
Constant for the fox:transform extension attributeprivate static int
LEFT
private static int
RIGHT
private static int
TOP
-
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, log, 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
Constructors Constructor Description AbstractPathOrientedRenderer(FOUserAgent userAgent)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
beginTextObject()
Indicates the beginning of a text object.protected abstract java.util.List
breakOutOfStateStack()
Breaks out of the state stack to handle fixed block-containers.protected abstract 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 abstract void
clipRect(float x, float y, float width, float height)
Clip using a rectangular area.protected abstract void
closePath()
Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.protected abstract void
concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.protected void
drawBackAndBorders(Area area, float startx, float starty, float width, float height)
Draw the background and borders.protected void
drawBackAndBorders(Area backgroundArea, Area borderArea, float startx, float starty, float width, float height)
Draw the background and borders.protected void
drawBackground(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsTop, BorderProps bpsBottom, BorderProps bpsLeft, BorderProps bpsRight)
Draw the background.protected void
drawBackground(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd, int level)
Draw the background.protected abstract void
drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.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, java.awt.Color innerBackgroundColor)
Draw the borders.protected void
drawBorders(java.awt.geom.Rectangle2D.Float borderRect, BorderProps bpsTop, BorderProps bpsBottom, BorderProps bpsLeft, BorderProps bpsRight, java.awt.Color innerBackgroundColor)
Draws borders.protected void
drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos)
Draw an image at the indicated location.protected abstract void
drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)
Draw an image at the indicated location.protected abstract void
endTextObject()
Indicates the end of a text object.protected void
establishTransformationMatrix(java.awt.geom.AffineTransform at)
Establishes a new coordinate system with the given transformation matrix.protected abstract void
fillRect(float x, float y, float width, float height)
Fill a rectangular area.protected void
handleBlockTraits(Block block)
Handle block traits.protected void
handleRegionTraits(RegionViewport region)
Handle the traits for a region This is used to draw the traits for the given page region.private boolean
isCollapseOuter(BorderProps bp)
protected abstract void
lineTo(float x, float y)
Appends a straight line segment from the current point to (x, y).protected abstract void
moveTo(float x, float y)
Moves the current point to (x, y), omitting any connecting line segment.protected void
renderBlockViewport(BlockViewport bv, java.util.List children)
Renders a block viewport.protected void
renderFlow(NormalFlow flow)
Renders a flow reference area.void
renderForeignObject(ForeignObject fo, java.awt.geom.Rectangle2D pos)
Renders a foreign object area.protected void
renderInlineAreaBackAndBorders(InlineArea area)
Common method to render the background and borders for any inline area.void
renderInlineViewport(InlineViewport viewport)
Render an inline viewport.protected void
renderReferenceArea(Block block)
Renders a block area that represents a reference area.protected void
renderTextDecoration(FontMetrics fm, int fontsize, InlineArea inline, int baseline, int startx)
Paints the text decoration marks.protected abstract void
restoreGraphicsState()
Restores the last graphics state of the rendering engine.protected abstract void
restoreStateStackAfterBreakOut(java.util.List breakOutList)
Restores the state stack after a break out.protected abstract void
saveGraphicsState()
Saves the graphics state of the rendering engine.protected abstract void
updateColor(java.awt.Color col, boolean fill)
Establishes a new foreground or fill color.-
Methods inherited from class org.apache.fop.render.PrintRenderer
addFontList, createRendererContext, getFontFromArea, getFontInfo, getFontList, getInternalFontNameForArea, instantiateRendererContext, renderDocument, setFontList, setupFontInfo
-
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, drawChangeBars, endLayer, endVParea, getBeginOffset, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getUserAgent, maybeEndLayer, maybeStartLayer, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderImage, renderInlineArea, renderInlineBlock, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPage, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderText, renderWord, renderXML, setBeginOffset, setDocumentLocale, startLayer, startPageSequence, startPageSequence, startRenderer, startVParea, stopRenderer, supportsOutOfOrder
-
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
-
TOP
private static final int TOP
- See Also:
- Constant Field Values
-
RIGHT
private static final int RIGHT
- See Also:
- Constant Field Values
-
BOTTOM
private static final int BOTTOM
- See Also:
- Constant Field Values
-
LEFT
private static final int LEFT
- See Also:
- Constant Field Values
-
FOX_TRANSFORM
protected static final org.apache.xmlgraphics.util.QName FOX_TRANSFORM
Constant for the fox:transform extension attribute
-
-
Constructor Detail
-
AbstractPathOrientedRenderer
public AbstractPathOrientedRenderer(FOUserAgent userAgent)
- Parameters:
userAgent
- the user agent that contains configuration details. This cannot be null.
-
-
Method Detail
-
handleBlockTraits
protected void handleBlockTraits(Block block)
Handle block traits. The block could be any sort of block with any positioning so this should render the traits such as border and background in its position.- Overrides:
handleBlockTraits
in classAbstractRenderer
- Parameters:
block
- the block to render the traits
-
handleRegionTraits
protected void handleRegionTraits(RegionViewport region)
Handle the traits for a region This is used to draw the traits for the given page region. (See Sect. 6.4.1.2 of XSL-FO spec.)- Overrides:
handleRegionTraits
in classAbstractRenderer
- Parameters:
region
- the RegionViewport whose region is to be drawn
-
drawBackAndBorders
protected void drawBackAndBorders(Area area, float startx, float starty, float width, float height)
Draw the background and borders. This draws the background and border traits for an area given the position.- Parameters:
area
- the area to get the traits fromstartx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the area
-
drawBackAndBorders
protected void drawBackAndBorders(Area backgroundArea, Area borderArea, float startx, float starty, float width, float height)
Draw the background and borders. This draws the background and border traits for an area given the position.- Parameters:
backgroundArea
- the area to get the background traits fromborderArea
- the area to get the border traits fromstartx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the area
-
drawBackground
protected void drawBackground(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd, int level)
Draw the background. This draws the background given the position and the traits.- 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-before traitsbpsAfter
- the border-after traitsbpsStart
- the border-start traitsbpsEnd
- the border-end traitslevel
- of bidirectional embedding
-
drawBackground
protected void drawBackground(float startx, float starty, float width, float height, Trait.Background back, BorderProps bpsTop, BorderProps bpsBottom, BorderProps bpsLeft, BorderProps bpsRight)
Draw the background. This draws the background given the position and the traits.- Parameters:
startx
- the start x positionstarty
- the start y positionwidth
- the width of the areaheight
- the height of the areaback
- the background traitsbpsTop
- the border specification on the top edgebpsBottom
- the border traits associated with bottom edgebpsLeft
- the border specification on the left edgebpsRight
- the border specification on the right edge
-
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.- 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
-
drawBorders
protected void drawBorders(float startx, float starty, float width, float height, BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd, int level, java.awt.Color innerBackgroundColor)
Draw the borders. This draws the border traits given the position and the traits.- 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
-
drawBorders
protected void drawBorders(java.awt.geom.Rectangle2D.Float borderRect, BorderProps bpsTop, BorderProps bpsBottom, BorderProps bpsLeft, BorderProps bpsRight, java.awt.Color innerBackgroundColor)
Draws borders.- Parameters:
borderRect
- the border rectanglebpsTop
- the border specification on the top edgebpsBottom
- the border traits associated with bottom edgebpsLeft
- the border specification on the left edgebpsRight
- the border specification on the right edgeinnerBackgroundColor
- the background color of the block
-
isCollapseOuter
private boolean isCollapseOuter(BorderProps bp)
-
renderInlineAreaBackAndBorders
protected void renderInlineAreaBackAndBorders(InlineArea area)
Common method to render the background and borders for any inline area. The all borders and padding are drawn outside the specified area.- Specified by:
renderInlineAreaBackAndBorders
in classAbstractRenderer
- Parameters:
area
- the inline area for which the background, border and padding is to be rendered
-
renderBlockViewport
protected void renderBlockViewport(BlockViewport bv, java.util.List children)
Renders a block viewport.- Overrides:
renderBlockViewport
in classAbstractRenderer
- Parameters:
bv
- The block viewportchildren
- The children to render within the block viewport
-
renderReferenceArea
protected void renderReferenceArea(Block block)
Renders a block area that represents a reference area. The reference area establishes a new coordinate system.- Specified by:
renderReferenceArea
in classAbstractRenderer
- Parameters:
block
- the block area
-
renderFlow
protected void renderFlow(NormalFlow flow)
Renders a flow reference area.- Overrides:
renderFlow
in classAbstractRenderer
- Parameters:
flow
- The flow reference area
-
concatenateTransformationMatrix
protected abstract void concatenateTransformationMatrix(java.awt.geom.AffineTransform at)
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.- Parameters:
at
- the transformation matrix to process (coordinates in points)
-
renderInlineViewport
public void renderInlineViewport(InlineViewport viewport)
Render an inline viewport. This renders an inline viewport by clipping if necessary.- Overrides:
renderInlineViewport
in classAbstractRenderer
- Parameters:
viewport
- the viewport to handle
-
restoreStateStackAfterBreakOut
protected abstract void restoreStateStackAfterBreakOut(java.util.List breakOutList)
Restores the state stack after a break out.- Parameters:
breakOutList
- the state stack to restore.
-
breakOutOfStateStack
protected abstract java.util.List breakOutOfStateStack()
Breaks out of the state stack to handle fixed block-containers.- Returns:
- the saved state stack to recreate later
-
saveGraphicsState
protected abstract void saveGraphicsState()
Saves the graphics state of the rendering engine.
-
restoreGraphicsState
protected abstract void restoreGraphicsState()
Restores the last graphics state of the rendering engine.
-
beginTextObject
protected abstract void beginTextObject()
Indicates the beginning of a text object.
-
endTextObject
protected abstract void endTextObject()
Indicates the end of a text object.
-
renderTextDecoration
protected void renderTextDecoration(FontMetrics fm, int fontsize, InlineArea inline, int baseline, int startx)
Paints the text decoration marks.- Parameters:
fm
- Current typefacefontsize
- Current font sizeinline
- inline area to paint the marks forbaseline
- position of the baselinestartx
- start IPD
-
clip
protected abstract void clip()
Clip using the current path.
-
clipRect
protected abstract void clipRect(float x, float y, float width, float height)
Clip using a rectangular area.- 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)
-
moveTo
protected abstract void moveTo(float x, float y)
Moves the current point to (x, y), omitting any connecting line segment.- Parameters:
x
- x coordinatey
- y coordinate
-
lineTo
protected abstract 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).- Parameters:
x
- x coordinatey
- y coordinate
-
closePath
protected abstract void closePath()
Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.
-
fillRect
protected abstract void fillRect(float x, float y, float width, float height)
Fill a rectangular area.- Parameters:
x
- the x coordinatey
- the y coordinatewidth
- the width of the rectangleheight
- the height of the rectangle
-
updateColor
protected abstract void updateColor(java.awt.Color col, boolean fill)
Establishes a new foreground or fill color.- Parameters:
col
- the color to apply (null skips this operation)fill
- true to set the fill color, false for the foreground color
-
drawImage
protected abstract void drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)
Draw an image at the indicated location.- Parameters:
url
- the URI/URL of the imagepos
- the position of the imageforeignAttributes
- an optional Map with foreign attributes, may be null
-
drawImage
protected final void drawImage(java.lang.String url, java.awt.geom.Rectangle2D pos)
Draw an image at the indicated location.- Parameters:
url
- the URI/URL of the imagepos
- the position of the image
-
drawBorderLine
protected abstract void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, java.awt.Color col)
Draw a border segment of an XSL-FO style border.- 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
-
renderForeignObject
public void renderForeignObject(ForeignObject fo, java.awt.geom.Rectangle2D pos)
Renders a foreign object area.- Overrides:
renderForeignObject
in classAbstractRenderer
- Parameters:
fo
- The foreign object areapos
- The target position of the foreign object (todo) Make renderForeignObject() protected
-
establishTransformationMatrix
protected void establishTransformationMatrix(java.awt.geom.AffineTransform at)
Establishes a new coordinate system with the given transformation matrix. The current graphics state is saved and the new coordinate system is concatenated.- Parameters:
at
- the transformation matrix
-
-