fop 2.3

org.apache.fop.render
Class AbstractPathOrientedRenderer

java.lang.Object
  extended by org.apache.fop.render.AbstractRenderer
      extended by org.apache.fop.render.PrintRenderer
          extended by org.apache.fop.render.AbstractPathOrientedRenderer
All Implemented Interfaces:
Constants, Renderer
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
protected static org.apache.xmlgraphics.util.QName FOX_TRANSFORM
          Constant for the fox:transform extension attribute
 
Fields inherited from class org.apache.fop.render.PrintRenderer
embedFontInfoList, fontInfo
 
Fields inherited from class org.apache.fop.render.AbstractRenderer
containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, log, userAgent
 
Fields inherited from interface org.apache.fop.render.Renderer
ROLE
 
Fields inherited from interface org.apache.fop.fo.Constants
COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_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
AbstractPathOrientedRenderer(FOUserAgent userAgent)
           
 
Method Summary
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 backgroundArea, Area borderArea, float startx, float starty, float width, float height)
          Draw the background and borders.
protected  void drawBackAndBorders(Area area, 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.
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, endLayer, endVParea, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getUserAgent, maybeEndLayer, maybeStartLayer, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderImage, renderInlineArea, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPage, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderText, renderWord, renderXML, 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

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 class AbstractRenderer
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 class AbstractRenderer
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 from
startx - the start x position
starty - the start y position
width - the width of the area
height - 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 from
borderArea - the area to get the border traits from
startx - the start x position
starty - the start y position
width - the width of the area
height - 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 position
starty - the start y position
width - the width of the area
height - the height of the area
back - the background traits
bpsBefore - the border-before traits
bpsAfter - the border-after traits
bpsStart - the border-start traits
bpsEnd - the border-end traits
level - 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 position
starty - the start y position
width - the width of the area
height - the height of the area
back - the background traits
bpsTop - the border specification on the top edge
bpsBottom - the border traits associated with bottom edge
bpsLeft - the border specification on the left edge
bpsRight - 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 position
starty - the start y position
width - the width of the area
height - the height of the area
bpsBefore - the border-before traits
bpsAfter - the border-after traits
bpsStart - the border-start traits
bpsEnd - 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 position
starty - the start y position
width - the width of the area
height - the height of the area
bpsBefore - the border traits associated with before edge
bpsAfter - the border traits associated with after edge
bpsStart - the border traits associated with start edge
bpsEnd - the border traits associated with end edge
level - of bidirectional embedding
innerBackgroundColor - 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 rectangle
bpsTop - the border specification on the top edge
bpsBottom - the border traits associated with bottom edge
bpsLeft - the border specification on the left edge
bpsRight - the border specification on the right edge
innerBackgroundColor - the background color of the block

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 class AbstractRenderer
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 class AbstractRenderer
Parameters:
bv - The block viewport
children - 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 class AbstractRenderer
Parameters:
block - the block area

renderFlow

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

Overrides:
renderFlow in class AbstractRenderer
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 class AbstractRenderer
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 typeface
fontsize - Current font size
inline - inline area to paint the marks for
baseline - position of the baseline
startx - 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 coordinate
y - 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 coordinate
y - 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 coordinate
y - the y coordinate
width - the width of the rectangle
height - 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 image
pos - the position of the image
foreignAttributes - 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 image
pos - 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 coordinate
y1 - starting y coordinate
x2 - ending x coordinate
y2 - ending y coordinate
horz - true for horizontal border segments, false for vertical border segments
startOrBefore - 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 class AbstractRenderer
Parameters:
fo - The foreign object area
pos - 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

fop 2.3

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