AbstractRenderer (Apache FOP 2.7 API)
Date: 2022-01-12

org.apache.fop.render

## Class AbstractRenderer

- java.lang.Object
- - org.apache.fop.render.AbstractRenderer

- All Implemented Interfaces:
    Constants, Renderer
  Direct Known Subclasses:
    PrintRenderer

      public abstract class AbstractRenderer
      extends java.lang.Object
      implements Renderer, Constants

  Abstract base class for all renderers. The Abstract renderer does all the top level processing of the area tree and adds some abstract methods to handle viewports. This keeps track of the current block and inline position.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `bindingOnEndEdge` Is binding on end edge of column?
    `protected boolean` | `bindingOnStartEdge` Is binding on start edge of column?
    `protected Direction` | `blockProgressionDirection` The block progression direction (for change bars)
    `protected int` | `columnCount` The number of columns in the span (for change bars)
    `protected int` | `columnEndIPPosition` The "end edge" IP Position of the current column (for change bars)
    `protected int` | `columnGap` The size of column gap (for change bars)
    `protected int` | `columnIndex` The index number of the current column (for change bars)
    `protected int` | `columnLeftIPPosition` The "left" position of the current column (for change bars)
    `protected int` | `columnRightIPPosition` The "right" position of the current column (for change bars)
    `protected int` | `columnStartIPPosition` The "start edge" IP Position of the current column (for change bars)
    `protected int` | `columnWidth` The column width (for change bars)
    `protected int` | `containingBPPosition` the block progression position of the containing block used for absolutely positioned blocks
    `protected int` | `containingIPPosition` the inline progression position of the containing block used for absolutely positioned blocks
    `protected int` | `currentBPPosition` block progression position
    `protected int` | `currentIPPosition` inline progression position
    `protected PageViewport` | `currentPageViewport` the currently active PageViewport
    `protected Direction` | `inlineProgressionDirection` The inline progression direction (for change bars)
    `protected static org.apache.commons.logging.Log` | `log` logging instance
    `protected FOUserAgent` | `userAgent` user agent

    - ### 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

    Constructors
    Constructor and Description
    `AbstractRenderer(FOUserAgent userAgent)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.String` | `convertTitleToString(LineArea title)` Utility method to convert a page sequence title to a string.
    `protected void` | `drawChangeBars(Area area, java.util.List<ChangeBar> changeBarList)` Draws all change bars associated with an area.
    `protected abstract void` | `endLayer()` Finish current optional content group layer.
    `protected abstract void` | `endVParea()` Signals exit from a viewport area.
    `protected int` | `getBeginOffset()` Returns the begin offset of the inline begin (changes by reference area transforms).
    `protected PageViewport` | `getCurrentPageViewport()`
    `Graphics2DAdapter` | `getGraphics2DAdapter()`
    `ImageAdapter` | `getImageAdapter()`
    `FOUserAgent` | `getUserAgent()` Returns the associated user agent.
    `protected void` | `handleBlockTraits(Block block)` Handle block traits.
    `protected void` | `handleRegionTraits(RegionViewport rv)` Handle the traits for a region This is used to draw the traits for the given page region.
    `protected void` | `maybeEndLayer(Area area, boolean inNewLayer)`
    `protected boolean` | `maybeStartLayer(Area area)`
    `protected java.awt.geom.AffineTransform` | `mptToPt(java.awt.geom.AffineTransform at)` Converts a millipoint-based transformation matrix to points.
    `void` | `preparePage(PageViewport page)` This is called if the renderer supports out of order rendering.
    `void` | `processOffDocumentItem(OffDocumentItem odi)` Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).
    `protected java.awt.geom.AffineTransform` | `ptToMpt(java.awt.geom.AffineTransform at)` Converts a point-based transformation matrix to millipoints.
    `protected void` | `renderBeforeFloat(BeforeFloat bf)` Renders a before float area.
    `protected void` | `renderBlock(Block block)` Renders a block area.
    `protected void` | `renderBlocks(Block parent, java.util.List blocks)` Renders a list of block areas.
    `protected void` | `renderBlockViewport(BlockViewport bv, java.util.List children)` Renders a block viewport.
    `protected void` | `renderBodyRegion(BodyRegion region)` Renders a body region area.
    `protected void` | `renderContainer(Container cont)` Tells the renderer to render an inline container.
    `protected void` | `renderFlow(NormalFlow flow)` Renders a flow reference area.
    `protected void` | `renderFootnote(Footnote footnote)` Renders a footnote
    `protected void` | `renderForeignObject(ForeignObject fo, java.awt.geom.Rectangle2D pos)` Renders a foreign object area.
    `void` | `renderImage(Image image, java.awt.geom.Rectangle2D pos)` Renders an image area.
    `protected void` | `renderInlineArea(InlineArea inlineArea)` Render the given InlineArea.
    `protected abstract void` | `renderInlineAreaBackAndBorders(InlineArea area)` Common method to render the background and borders for any inline area.
    `protected void` | `renderInlineBlock(InlineBlock inlineBlock)` Renders an inline block area.
    `protected void` | `renderInlineBlockParent(InlineBlockParent ibp)` Render the given InlineBlockParent.
    `protected void` | `renderInlineParent(InlineParent ip)` Render the given InlineParent.
    `protected void` | `renderInlineSpace(Space space)` Render the given Space.
    `protected void` | `renderInlineViewport(InlineViewport viewport)` Render the given Viewport.
    `protected void` | `renderLeader(Leader area)` Render the given Leader.
    `protected void` | `renderLineArea(LineArea line)` Renders a line area.
    `protected void` | `renderMainReference(MainReference mainReference)` Renders the main reference area.
    `void` | `renderPage(PageViewport page)` Tells the renderer to render a particular page.
    `protected void` | `renderPageAreas(Page page)` Renders page areas.
    `protected abstract void` | `renderReferenceArea(Block block)` Renders a block area that represents a reference area.
    `protected void` | `renderRegion(RegionReference region)` Renders a region reference area.
    `protected void` | `renderRegionViewport(RegionViewport port)` Renders a region viewport.
    `protected void` | `renderSpace(SpaceArea space)` Render the given SpaceArea.
    `protected void` | `renderText(TextArea text)` Render the given TextArea.
    `protected void` | `renderWord(WordArea word)` Render the given WordArea.
    `void` | `renderXML(RendererContext ctx, org.w3c.dom.Document doc, java.lang.String namespace)` Render the xml document with the given xml namespace.
    `protected void` | `setBeginOffset(int offset)` Sets the begin offset for inline progression begin (changes by reference area tranforms).
    `void` | `setDocumentLocale(java.util.Locale locale)`
    `abstract void` | `setupFontInfo(FontInfo fontInfo)` Set up the given FontInfo.
    `protected abstract void` | `startLayer(java.lang.String layer)` Establish new optional content group layer.
    `void` | `startPageSequence(LineArea seqTitle)` Deprecated.
    `void` | `startPageSequence(PageSequence pageSequence)` Tells the renderer that a new page sequence starts.
    `void` | `startRenderer(java.io.OutputStream outputStream)` Initiates the rendering phase.
    `protected abstract void` | `startVParea(CTM ctm, java.awt.Rectangle clippingRect)` Establishes a new viewport area.
    `void` | `stopRenderer()` Signals the end of the rendering phase.
    `boolean` | `supportsOutOfOrder()` Check if this renderer supports out of order rendering.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.fop.render.Renderer

      `getMimeType`

- - ### Field Detail

    - #### log

          protected static final org.apache.commons.logging.Log log

      logging instance

    - #### userAgent

          protected FOUserAgent userAgent

      user agent

    - #### currentBPPosition

          protected int currentBPPosition

      block progression position

    - #### currentIPPosition

          protected int currentIPPosition

      inline progression position

    - #### containingBPPosition

          protected int containingBPPosition

      the block progression position of the containing block used for absolutely positioned blocks

    - #### containingIPPosition

          protected int containingIPPosition

      the inline progression position of the containing block used for absolutely positioned blocks

    - #### columnStartIPPosition

          protected int columnStartIPPosition

      The "start edge" IP Position of the current column (for change bars)

    - #### columnEndIPPosition

          protected int columnEndIPPosition

      The "end edge" IP Position of the current column (for change bars)

    - #### columnLeftIPPosition

          protected int columnLeftIPPosition

      The "left" position of the current column (for change bars)

    - #### columnRightIPPosition

          protected int columnRightIPPosition

      The "right" position of the current column (for change bars)

    - #### columnCount

          protected int columnCount

      The number of columns in the span (for change bars)

    - #### columnIndex

          protected int columnIndex

      The index number of the current column (for change bars)

    - #### columnWidth

          protected int columnWidth

      The column width (for change bars)

    - #### columnGap

          protected int columnGap

      The size of column gap (for change bars)

    - #### blockProgressionDirection

          protected Direction blockProgressionDirection

      The block progression direction (for change bars)

    - #### inlineProgressionDirection

          protected Direction inlineProgressionDirection

      The inline progression direction (for change bars)

    - #### bindingOnStartEdge

          protected boolean bindingOnStartEdge

      Is binding on start edge of column?

    - #### bindingOnEndEdge

          protected boolean bindingOnEndEdge

      Is binding on end edge of column?

    - #### currentPageViewport

          protected PageViewport currentPageViewport

      the currently active PageViewport

  - ### Constructor Detail

    - #### AbstractRenderer

          public AbstractRenderer(FOUserAgent userAgent)

      Parameters:
        `userAgent` - the user agent that contains configuration details. This cannot be null.

  - ### Method Detail

    - #### setupFontInfo

          public abstract void setupFontInfo(FontInfo fontInfo)
                                      throws FOPException

      Set up the given FontInfo.
      Specified by:
        `setupFontInfo` in interface `Renderer`
      Parameters:
        `fontInfo` - The font information
      Throws:
        `FOPException` - if an error occurs while setting up the font info object

    - #### getUserAgent

          public FOUserAgent getUserAgent()

      Returns the associated user agent.
      Specified by:
        `getUserAgent` in interface `Renderer`
      Returns:
        the user agent

    - #### startRenderer

          public void startRenderer(java.io.OutputStream outputStream)
                             throws java.io.IOException

      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 interface `Renderer`
      Parameters:
        `outputStream` - The OutputStream to use for output
      Throws:
        `java.io.IOException` - If an I/O error occurs

    - #### stopRenderer

          public void stopRenderer()
                            throws java.io.IOException

      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 interface `Renderer`
      Throws:
        `java.io.IOException` - If an I/O error occurs

    - #### supportsOutOfOrder

          public boolean supportsOutOfOrder()

      Check if this renderer supports out of order rendering. If this renderer supports out of order rendering then it means that the pages that are not ready will be prepared and a future page will be rendered.
      Specified by:
        `supportsOutOfOrder` in interface `Renderer`
      Returns:
        True if the renderer supports out of order rendering

    - #### setDocumentLocale

          public void setDocumentLocale(java.util.Locale locale)

      Specified by:
        `setDocumentLocale` in interface `Renderer`
      Parameters:
        `locale` - Locale of the language

    - #### processOffDocumentItem

          public void processOffDocumentItem(OffDocumentItem odi)

      Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks). Note - not all renderers will process all off-document items.
      Specified by:
        `processOffDocumentItem` in interface `Renderer`
      Parameters:
        `odi` - The off-document item to be rendered

    - #### getGraphics2DAdapter

          public Graphics2DAdapter getGraphics2DAdapter()

      Specified by:
        `getGraphics2DAdapter` in interface `Renderer`
      Returns:
        the adapter for painting Java2D images (or null if not supported)

    - #### getImageAdapter

          public ImageAdapter getImageAdapter()

      Specified by:
        `getImageAdapter` in interface `Renderer`
      Returns:
        the adapter for painting RenderedImages (or null if not supported)

    - #### getCurrentPageViewport

          protected PageViewport getCurrentPageViewport()

      Returns:
        the current PageViewport or null, if none is active

    - #### preparePage

          public void preparePage(PageViewport page)

      This is called if the renderer supports out of order rendering. The renderer should prepare the page so that a page further on in the set of pages can be rendered. The body of the page should not be rendered. The page will be rendered at a later time by the call to `Renderer.renderPage(PageViewport)`.
      Specified by:
        `preparePage` in interface `Renderer`
      Parameters:
        `page` - The page viewport to use

    - #### convertTitleToString

          protected java.lang.String convertTitleToString(LineArea title)

      Utility method to convert a page sequence title to a string. Some renderers may only be able to use a string title. A title is a sequence of inline areas that this method attempts to convert to an equivalent string.
      Parameters:
        `title` - The Title to convert
      Returns:
        An expanded string representing the title

    - #### startPageSequence

          public void startPageSequence(LineArea seqTitle)

      Deprecated.
      Tells the renderer that a new page sequence starts.
      Specified by:
        `startPageSequence` in interface `Renderer`
      Parameters:
        `seqTitle` - The title of the page sequence

    - #### startPageSequence

          public void startPageSequence(PageSequence pageSequence)

      Tells the renderer that a new page sequence starts.
      Specified by:
        `startPageSequence` in interface `Renderer`
      Parameters:
        `pageSequence` - the page sequence

    - #### renderPage

          public void renderPage(PageViewport page)
                          throws java.io.IOException,
                                 FOPException

      Tells the renderer to render a particular page. A renderer typically responds by packing up the current page and writing it immediately to the output device.
      Specified by:
        `renderPage` in interface `Renderer`
      Parameters:
        `page` - The page to be rendered
      Throws:
        `java.io.IOException` - if an I/O error occurs
        `FOPException` - if a FOP interal error occurs.

    - #### renderPageAreas

          protected void renderPageAreas(Page page)

      Renders page areas.
      Parameters:
        `page` - The page whos page areas are to be rendered

    - #### renderRegionViewport

          protected void renderRegionViewport(RegionViewport port)

      Renders a region viewport.

      The region may clip the area and it establishes a position from where the region is placed.

      Parameters:
        `port` - The region viewport to be rendered

    - #### startVParea

          protected abstract void startVParea(CTM ctm,
                                              java.awt.Rectangle clippingRect)

      Establishes a new viewport area.
      Parameters:
        `ctm` - the coordinate transformation matrix to use
        `clippingRect` - the clipping rectangle if the viewport should be clipping, null if no clipping is performed.

    - #### endVParea

          protected abstract void endVParea()

      Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.

    - #### handleRegionTraits

          protected void handleRegionTraits(RegionViewport rv)

      Handle the traits for a region This is used to draw the traits for the given page region. (See Sect. 6.4.1.2 of XSL-FO spec.)
      Parameters:
        `rv` - the RegionViewport whose region is to be drawn

    - #### renderRegion

          protected void renderRegion(RegionReference region)

      Renders a region reference area.
      Parameters:
        `region` - The region reference area

    - #### renderBodyRegion

          protected void renderBodyRegion(BodyRegion region)

      Renders a body region area.
      Parameters:
        `region` - The body region

    - #### renderBeforeFloat

          protected void renderBeforeFloat(BeforeFloat bf)

      Renders a before float area.
      Parameters:
        `bf` - The before float area

    - #### renderFootnote

          protected void renderFootnote(Footnote footnote)

      Renders a footnote
      Parameters:
        `footnote` - The footnote

    - #### renderMainReference

          protected void renderMainReference(MainReference mainReference)

      Renders the main reference area.

      The main reference area contains a list of spans that are stacked on the page. The spans contain a list of normal flow reference areas that are positioned into columns.

      Parameters:
        `mainReference` - The main reference area

    - #### renderFlow

          protected void renderFlow(NormalFlow flow)

      Renders a flow reference area.
      Parameters:
        `flow` - The flow reference area

    - #### handleBlockTraits

          protected void handleBlockTraits(Block block)

      Handle block traits. This method is called when the correct ip and bp posiiton is set. This should be overridden to draw border and background traits for the block area.
      Parameters:
        `block` - the block area

    - #### renderBlockViewport

          protected void renderBlockViewport(BlockViewport bv,
                                             java.util.List children)

      Renders a block viewport.
      Parameters:
        `bv` - The block viewport
        `children` - The children to render within the block viewport

    - #### renderReferenceArea

          protected abstract void renderReferenceArea(Block block)

      Renders a block area that represents a reference area. The reference area establishes a new coordinate system.
      Parameters:
        `block` - the block area

    - #### renderBlocks

          protected void renderBlocks(Block parent,
                                      java.util.List blocks)

      Renders a list of block areas.
      Parameters:
        `parent` - the parent block if the parent is a block, otherwise a null value.
        `blocks` - The block areas

    - #### renderBlock

          protected void renderBlock(Block block)

      Renders a block area.
      Parameters:
        `block` - The block area

    - #### renderInlineBlock

          protected void renderInlineBlock(InlineBlock inlineBlock)

      Renders an inline block area.
      Parameters:
        `inlineBlock` - The inline block area

    - #### startLayer

          protected abstract void startLayer(java.lang.String layer)

      Establish new optional content group layer.
      Parameters:
        `layer` - name of layer

    - #### endLayer

          protected abstract void endLayer()

      Finish current optional content group layer.

    - #### maybeStartLayer

          protected boolean maybeStartLayer(Area area)

    - #### maybeEndLayer

          protected void maybeEndLayer(Area area,
                                       boolean inNewLayer)

    - #### renderLineArea

          protected void renderLineArea(LineArea line)

      Renders a line area.

      A line area may have grouped styling for its children such as underline, background.

      Parameters:
        `line` - The line area

    - #### renderInlineArea

          protected void renderInlineArea(InlineArea inlineArea)

      Render the given InlineArea.
      Parameters:
        `inlineArea` - inline area text to render

    - #### renderInlineAreaBackAndBorders

          protected abstract void renderInlineAreaBackAndBorders(InlineArea area)

      Common method to render the background and borders for any inline area. The all borders and padding are drawn outside the specified area.
      Parameters:
        `area` - the inline area for which the background, border and padding is to be rendered

    - #### renderInlineSpace

          protected void renderInlineSpace(Space space)

      Render the given Space.
      Parameters:
        `space` - the space to render

    - #### renderLeader

          protected void renderLeader(Leader area)

      Render the given Leader.
      Parameters:
        `area` - the leader to render

    - #### renderText

          protected void renderText(TextArea text)

      Render the given TextArea.
      Parameters:
        `text` - the text to render

    - #### renderWord

          protected void renderWord(WordArea word)

      Render the given WordArea.
      Parameters:
        `word` - the word to render

    - #### renderSpace

          protected void renderSpace(SpaceArea space)

      Render the given SpaceArea.
      Parameters:
        `space` - the space to render

    - #### renderInlineParent

          protected void renderInlineParent(InlineParent ip)

      Render the given InlineParent.
      Parameters:
        `ip` - the inline parent to render

    - #### renderInlineBlockParent

          protected void renderInlineBlockParent(InlineBlockParent ibp)

      Render the given InlineBlockParent.
      Parameters:
        `ibp` - the inline block parent to render

    - #### renderInlineViewport

          protected void renderInlineViewport(InlineViewport viewport)

      Render the given Viewport.
      Parameters:
        `viewport` - the viewport to render

    - #### renderImage

          public void renderImage(Image image,
                                  java.awt.geom.Rectangle2D pos)

      Renders an image area.
      Parameters:
        `image` - The image
        `pos` - The target position of the image (todo) Make renderImage() protected

    - #### renderContainer

          protected void renderContainer(Container cont)

      Tells the renderer to render an inline container.
      Parameters:
        `cont` - The inline container area

    - #### renderForeignObject

          protected void renderForeignObject(ForeignObject fo,
                                             java.awt.geom.Rectangle2D pos)

      Renders a foreign object area.
      Parameters:
        `fo` - The foreign object area
        `pos` - The target position of the foreign object (todo) Make renderForeignObject() protected

    - #### renderXML

          public void renderXML(RendererContext ctx,
                                org.w3c.dom.Document doc,
                                java.lang.String namespace)

      Render the xml document with the given xml namespace. The Render Context is by the handle to render into the current rendering target.
      Parameters:
        `ctx` - rendering context
        `doc` - DOM Document containing the source document
        `namespace` - Namespace URI of the document

    - #### mptToPt

          protected java.awt.geom.AffineTransform mptToPt(java.awt.geom.AffineTransform at)

      Converts a millipoint-based transformation matrix to points.
      Parameters:
        `at` - a millipoint-based transformation matrix
      Returns:
        a point-based transformation matrix

    - #### ptToMpt

          protected java.awt.geom.AffineTransform ptToMpt(java.awt.geom.AffineTransform at)

      Converts a point-based transformation matrix to millipoints.
      Parameters:
        `at` - a point-based transformation matrix
      Returns:
        a millipoint-based transformation matrix

    - #### drawChangeBars

          protected void drawChangeBars(Area area,
                                        java.util.List<ChangeBar> changeBarList)

      Draws all change bars associated with an area.
      Parameters:
        `area` - The area to draw change bars for
        `changeBarList` - The list of change bars affecting the area

    - #### getBeginOffset

          protected int getBeginOffset()

      Returns the begin offset of the inline begin (changes by reference area transforms).
      Returns:
        the offset from current coordinate system 0 that the IP begin is at

    - #### setBeginOffset

          protected void setBeginOffset(int offset)

      Sets the begin offset for inline progression begin (changes by reference area tranforms).
      Parameters:
        `offset` - the new offset from IPP 0 that true IP start is at

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