Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.render.afp
Class AFPRenderer

    java.lang.Object
      org.apache.fop.render.AbstractRenderer
          org.apache.fop.render.PrintRenderer
              org.apache.fop.render.AbstractPathOrientedRenderer
                  org.apache.fop.render.afp.AFPRenderer

All Implemented Interfaces:
  AFPCustomizable, Constants, Renderer

public class AFPRenderer
extends AbstractPathOrientedRenderer
implements AFPCustomizable

This is an implementation of a FOP Renderer that renders areas to AFP.

A renderer is primarily designed to convert a given area tree into the output document format. It should be able to produce pages and fill the pages with the text and graphical content. Usually the output is sent to an output stream. Some output formats may support extra information that is not available from the area tree or depends on the destination of the document. Each renderer is given an area tree to render to its output format. The area tree is simply a representation of the pages and the placement of text and graphical objects on those pages.

The renderer will be given each page as it is ready and an output stream to write the data out. All pages are supplied in the order they appear in the document. In order to save memory it is possible to render the pages out of order. Any page that is not ready to be rendered is setup by the renderer first so that it can reserve a space or reference for when the page is ready to be rendered.The renderer is responsible for managing the output format and associated data and flow.

Each renderer is totally responsible for its output format. Because font metrics (and therefore layout) are obtained in two different ways depending on the renderer, the renderer actually sets up the fonts being used. The font metrics are used during the layout process to determine the size of characters.

The render context is used by handlers. It contains information about the current state of the renderer, such as the page, the position, and any other miscellaneous objects that are required to draw into the page.

A renderer is created by implementing the Renderer interface. However, the AbstractRenderer does most of what is needed, including iterating through the tree parts, so it is this that is extended. This means that this object only need to implement the basic functionality such as text, images, and lines. AbstractRenderer's methods can easily be overridden to handle things in a different way or do some extra processing.

The relevant AreaTree structures that will need to be rendered are Page, Viewport, Region, Span, Block, Line, Inline. A renderer implementation renders each individual page, clips and aligns child areas to a viewport, handle all types of inline area, text, image etc and draws various lines and rectangles.

Note: There are specific extensions that have been added to the FO. They are specific to their location within the FO and have to be processed accordingly (ie. at the start or end of the page).

Field Summary

Fields inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
`FOX_TRANSFORM`

Fields inherited from class org.apache.fop.render.PrintRenderer
`embedFontInfoList, fontInfo, fontResolver`

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_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_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_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_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, 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_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, EN_X_DISTRIBUTE, EN_X_FILL, 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_ALT_TEXT, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_DISABLE_COLUMN_BALANCING, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_PTR, PR_X_WIDOW_CONTENT_LIMIT, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK`

Constructor Summary
`AFPRenderer()` Constructor for AFPRenderer.

Method Summary
`void` | `beginTextObject()` Indicates the beginning of a text object.
`protected java.util.List` | `breakOutOfStateStack()` Breaks out of the state stack to handle fixed block-containers.
`void` | `clip()` Clip using the current path.
`void` | `clipRect(float x, float y, float width, float height)` Clip using a rectangular area.
`void` | `closePath()` Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.
`protected void` | `concatenateTransformationMatrix(java.awt.geom.AffineTransform at)` Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.
`protected RendererContext` | `createRendererContext(int x, int y, int width, int height, java.util.Map foreignAttributes)` Creates a RendererContext for an image.
`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.
`void` | `drawImage(java.lang.String uri, java.awt.geom.Rectangle2D pos, java.util.Map foreignAttributes)` Draw an image at the indicated location.
`void` | `endTextObject()` Indicates the end of a text object.
`void` | `endVParea()` Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.
`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.
`void` | `fillRect(float x, float y, float width, float height)` Fill a rectangular area.
`Graphics2DAdapter` | `getGraphics2DAdapter()`
`java.lang.String` | `getMimeType()` Get the MIME type of the renderer.
`int` | `getResolution()` Returns the output/device resolution.
`protected RendererContext` | `instantiateRendererContext()` Instantiates a RendererContext for an image
`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).
`void` | `moveTo(float x, float y)` Moves the current point to (x, y), omitting any connecting line segment.
`void` | `preparePage(PageViewport page)` This is called if the renderer supports out of order rendering. 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)`.
`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.
`void` | `renderImage(Image image, java.awt.geom.Rectangle2D pos)` Renders an image area.
`void` | `renderLeader(Leader area)` Render leader area.
`void` | `renderPage(PageViewport pageViewport)` Tells the renderer to render a particular page. A renderer typically reponds by packing up the current page and writing it immediately to the output device.
`void` | `renderText(TextArea text)` Render the given TextArea.
`void` | `restoreGraphicsState()` Restores the last graphics state of the rendering engine.
`void` | `restoreStateStackAfterBreakOut(java.util.List breakOutList)` Restores the state stack after a break out.
`void` | `saveGraphicsState()` Saves the graphics state of the rendering engine.
`void` | `setBitsPerPixel(int bitsPerPixel)` Sets the number of bits used per pixel
`void` | `setCMYKImagesSupported(boolean value)` Controls whether CMYK images (IOCA FS45) are enabled. By default, support is disabled for wider compatibility. When disabled, any CMYK image is converted to the selected color format.
`void` | `setColorImages(boolean colorImages)` Sets whether images are color or not
`void` | `setDefaultResourceGroupFilePath(java.lang.String filePath)` Sets the default resource group file path
`void` | `setDitheringQuality(float quality)` Sets the dithering quality setting to use when converting images to monochrome images.
`void` | `setLandscapeRotation(int rotation)` Sets the rotation to be used for landscape pages, valid values are 0, 90, 180, 270 (default).
`void` | `setNativeImagesSupported(boolean nativeImages)` Sets whether images are supported natively or not
`void` | `setPortraitRotation(int rotation)` Sets the rotation to be used for portrait pages, valid values are 0 (default), 90, 180, 270.
`void` | `setResolution(int resolution)` Sets the output/device resolution
`void` | `setResourceLevelDefaults(AFPResourceLevelDefaults defaults)` Sets the resource level defaults. The object passed in provides information which resource level shall be used by default for various kinds of resources.
`void` | `setShadingMode(AFPShadingMode shadingMode)` Sets the shading mode for painting filled rectangles.
`void` | `setupFontInfo(FontInfo inFontInfo)` Set up the given FontInfo.
`void` | `setUserAgent(FOUserAgent agent)` Set the User Agent.
`void` | `startPageSequence(PageSequence pageSequence)` Tells the renderer that a new page sequence starts.
`void` | `startRenderer(java.io.OutputStream outputStream)` 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.
`void` | `startVParea(CTM ctm, java.awt.geom.Rectangle2D clippingRect)` Establishes a new viewport area.
`void` | `stopRenderer()` Signals the end of the rendering phase. The renderer should reset to an initial state and dispose of any resources for the completed rendering.
`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.
`void` | `updateColor(java.awt.Color col, boolean fill)` Establishes a new foreground or fill color.
`static void` | `writeImage(java.awt.image.RenderedImage image, java.io.OutputStream out)` Deprecated. use ImageEncodingHelper.encodeRenderedImageAsRGB(image, out) directly instead

Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
`drawBackAndBorders, drawBackAndBorders, drawBackground, drawBorders, drawBorders, drawImage, handleBlockTraits, handleRegionTraits, renderBlockViewport, renderFlow, renderForeignObject, renderInlineAreaBackAndBorders, renderReferenceArea, renderTextDecoration, renderViewport`

Methods inherited from class org.apache.fop.render.PrintRenderer
`addFontList, getFontFromArea, getFontInfo, getFontList, getFontResolver, getInternalFontNameForArea, renderDocument, setFontList`

Methods inherited from class org.apache.fop.render.AbstractRenderer
`convertTitleToString, getCurrentPageViewport, getImageAdapter, getUserAgent, mptToPt, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderInlineArea, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderWord, renderXML, startPageSequence`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AFPRenderer

    public AFPRenderer()

  Constructor for AFPRenderer.

Method Detail

### setupFontInfo

    public void setupFontInfo(FontInfo inFontInfo)

  Set up the given FontInfo.

  Specified by:
    `setupFontInfo` in interface `Renderer`
  Overrides:
    `setupFontInfo` in class `PrintRenderer`

### setUserAgent

    public void setUserAgent(FOUserAgent agent)

  Set the User Agent.

  Specified by:
    `setUserAgent` in interface `Renderer`
  Overrides:
    `setUserAgent` in class `AbstractRenderer`

### 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`
  Overrides:
    `startRenderer` in class `AbstractRenderer`
  Throws:
    `java.io.IOException`

### 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`
  Overrides:
    `stopRenderer` in class `AbstractRenderer`
  Throws:
    `java.io.IOException`

### startPageSequence

    public void startPageSequence(PageSequence pageSequence)

  Tells the renderer that a new page sequence starts.

  Specified by:
    `startPageSequence` in interface `Renderer`
  Overrides:
    `startPageSequence` in class `AbstractRenderer`

### 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`
  Overrides:
    `supportsOutOfOrder` in class `AbstractRenderer`
  Returns:
    True if the renderer supports out of order rendering

### 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`
  Overrides:
    `preparePage` in class `AbstractRenderer`

### 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`
  Overrides:
    `processOffDocumentItem` in class `AbstractRenderer`

### getGraphics2DAdapter

    public Graphics2DAdapter getGraphics2DAdapter()

  Specified by:
    `getGraphics2DAdapter` in interface `Renderer`
  Overrides:
    `getGraphics2DAdapter` in class `AbstractRenderer`

### startVParea

    public void startVParea(CTM ctm,
                            java.awt.geom.Rectangle2D clippingRect)

  Establishes a new viewport area.

  Specified by:
    `startVParea` in class `AbstractRenderer`
  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

    public void endVParea()

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

  Specified by:
    `endVParea` in class `AbstractRenderer`

### concatenateTransformationMatrix

    protected void concatenateTransformationMatrix(java.awt.geom.AffineTransform at)

  Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.

  Specified by:
    `concatenateTransformationMatrix` in class `AbstractPathOrientedRenderer`
  Parameters:
    `at` - the transformation matrix to process (coordinates in points)

### renderPage

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

  Tells the renderer to render a particular page. A renderer typically reponds by packing up the current page and writing it immediately to the output device.

  Specified by:
    `renderPage` in interface `Renderer`
  Overrides:
    `renderPage` in class `AbstractRenderer`
  Throws:
    `java.io.IOException`
    `FOPException`

### drawBorderLine

    public 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.

  Specified by:
    `drawBorderLine` in class `AbstractPathOrientedRenderer`
  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

### fillRect

    public void fillRect(float x,
                         float y,
                         float width,
                         float height)

  Fill a rectangular area.

  Specified by:
    `fillRect` in class `AbstractPathOrientedRenderer`
  Parameters:
    `x` - the x coordinate
    `y` - the y coordinate
    `width` - the width of the rectangle
    `height` - the height of the rectangle

### instantiateRendererContext

    protected RendererContext instantiateRendererContext()

  Instantiates a RendererContext for an image

  Overrides:
    `instantiateRendererContext` in class `PrintRenderer`
  Returns:
    a newly created RendererContext.

### createRendererContext

    protected RendererContext createRendererContext(int x,
                                                    int y,
                                                    int width,
                                                    int height,
                                                    java.util.Map foreignAttributes)

  Creates a RendererContext for an image.

  Overrides:
    `createRendererContext` in class `PrintRenderer`
  Parameters:
    `x` - the x coordinate (in millipoints)
    `y` - the y coordinate (in millipoints)
    `width` - the width of the image (in millipoints)
    `height` - the height of the image (in millipoints)
    `foreignAttributes` - a Map or foreign attributes, may be null
  Returns:
    the RendererContext

### drawImage

    public void drawImage(java.lang.String uri,
                          java.awt.geom.Rectangle2D pos,
                          java.util.Map foreignAttributes)

  Draw an image at the indicated location.

  Specified by:
    `drawImage` in class `AbstractPathOrientedRenderer`
  Parameters:
    `uri` - the URI/URL of the image
    `pos` - the position of the image
    `foreignAttributes` - an optional Map with foreign attributes, may be null

### writeImage

    public static void writeImage(java.awt.image.RenderedImage image,
                                  java.io.OutputStream out)
                           throws java.io.IOException

  Deprecated. use ImageEncodingHelper.encodeRenderedImageAsRGB(image, out) directly instead

  Writes a RenderedImage to an OutputStream as raw sRGB bitmaps.

  Parameters:
    `image` - the RenderedImage
    `out` - the OutputStream
  Throws:
    `java.io.IOException` - In case of an I/O error.

### updateColor

    public void updateColor(java.awt.Color col,
                            boolean fill)

  Establishes a new foreground or fill color.

  Specified by:
    `updateColor` in class `AbstractPathOrientedRenderer`
  Parameters:
    `col` - the color to apply (null skips this operation)
    `fill` - true to set the fill color, false for the foreground color

### restoreStateStackAfterBreakOut

    public void restoreStateStackAfterBreakOut(java.util.List breakOutList)

  Restores the state stack after a break out.

  Specified by:
    `restoreStateStackAfterBreakOut` in class `AbstractPathOrientedRenderer`
  Parameters:
    `breakOutList` - the state stack to restore.

### breakOutOfStateStack

    protected java.util.List breakOutOfStateStack()

  Breaks out of the state stack to handle fixed block-containers.

  Specified by:
    `breakOutOfStateStack` in class `AbstractPathOrientedRenderer`
  Returns:
    the saved state stack to recreate later

### saveGraphicsState

    public void saveGraphicsState()

  Saves the graphics state of the rendering engine.

  Specified by:
    `saveGraphicsState` in class `AbstractPathOrientedRenderer`

### restoreGraphicsState

    public void restoreGraphicsState()

  Restores the last graphics state of the rendering engine.

  Specified by:
    `restoreGraphicsState` in class `AbstractPathOrientedRenderer`

### renderImage

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

  Renders an image area.

  Overrides:
    `renderImage` in class `AbstractRenderer`
  Parameters:
    `image` - The image
    `pos` - The target position of the image (todo) Make renderImage() protected

### renderText

    public void renderText(TextArea text)

  Render the given TextArea.

  Overrides:
    `renderText` in class `AbstractRenderer`
  Parameters:
    `text` - the text to render

### renderLeader

    public void renderLeader(Leader area)

  Render leader area. This renders a leader area which is an area with a rule.

  Overrides:
    `renderLeader` in class `AbstractRenderer`
  Parameters:
    `area` - the leader area to render

### getMimeType

    public java.lang.String getMimeType()

  Get the MIME type of the renderer.

  Specified by:
    `getMimeType` in interface `Renderer`
  Returns:
    The MIME type of the renderer

### setPortraitRotation

    public void setPortraitRotation(int rotation)

  Sets the rotation to be used for portrait pages, valid values are 0 (default), 90, 180, 270.

  Parameters:
    `rotation` - The rotation in degrees.

### setLandscapeRotation

    public void setLandscapeRotation(int rotation)

  Sets the rotation to be used for landscape pages, valid values are 0, 90, 180, 270 (default).

  Parameters:
    `rotation` - The rotation in degrees.

### setBitsPerPixel

    public void setBitsPerPixel(int bitsPerPixel)

  Sets the number of bits used per pixel

  Specified by:
    `setBitsPerPixel` in interface `AFPCustomizable`
  Parameters:
    `bitsPerPixel` - number of bits per pixel

### setColorImages

    public void setColorImages(boolean colorImages)

  Sets whether images are color or not

  Specified by:
    `setColorImages` in interface `AFPCustomizable`
  Parameters:
    `colorImages` - color image output

### setNativeImagesSupported

    public void setNativeImagesSupported(boolean nativeImages)

  Sets whether images are supported natively or not

  Specified by:
    `setNativeImagesSupported` in interface `AFPCustomizable`
  Parameters:
    `nativeImages` - native image support

### setCMYKImagesSupported

    public void setCMYKImagesSupported(boolean value)

  Controls whether CMYK images (IOCA FS45) are enabled. By default, support is disabled for wider compatibility. When disabled, any CMYK image is converted to the selected color format.

  Specified by:
    `setCMYKImagesSupported` in interface `AFPCustomizable`
  Parameters:
    `value` - true to enabled CMYK images

### setDitheringQuality

    public void setDitheringQuality(float quality)

  Sets the dithering quality setting to use when converting images to monochrome images.

  Specified by:
    `setDitheringQuality` in interface `AFPCustomizable`
  Parameters:
    `quality` - Defines the desired quality level for the conversion. Valid values: a value between 0.0f (fastest) and 1.0f (best)

### setShadingMode

    public void setShadingMode(AFPShadingMode shadingMode)

  Sets the shading mode for painting filled rectangles.

  Specified by:
    `setShadingMode` in interface `AFPCustomizable`
  Parameters:
    `shadingMode` - the shading mode

### setResolution

    public void setResolution(int resolution)

  Sets the output/device resolution

  Specified by:
    `setResolution` in interface `AFPCustomizable`
  Parameters:
    `resolution` - the output resolution (dpi)

### getResolution

    public int getResolution()

  Returns the output/device resolution.

  Specified by:
    `getResolution` in interface `AFPCustomizable`
  Returns:
    the resolution in dpi

### setDefaultResourceGroupFilePath

    public void setDefaultResourceGroupFilePath(java.lang.String filePath)

  Sets the default resource group file path

  Specified by:
    `setDefaultResourceGroupFilePath` in interface `AFPCustomizable`
  Parameters:
    `filePath` - the default resource group file path

### setResourceLevelDefaults

    public void setResourceLevelDefaults(AFPResourceLevelDefaults defaults)

  Sets the resource level defaults. The object passed in provides information which resource level shall be used by default for various kinds of resources.

  Specified by:
    `setResourceLevelDefaults` in interface `AFPCustomizable`
  Parameters:
    `defaults` - the resource level defaults

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

  Overrides:
    `establishTransformationMatrix` in class `AbstractPathOrientedRenderer`
  Parameters:
    `at` - the transformation matrix

### clip

    public void clip()

  Clip using the current path.

  Specified by:
    `clip` in class `AbstractPathOrientedRenderer`

### clipRect

    public void clipRect(float x,
                         float y,
                         float width,
                         float height)

  Clip using a rectangular area.

  Specified by:
    `clipRect` in class `AbstractPathOrientedRenderer`
  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

    public void moveTo(float x,
                       float y)

  Moves the current point to (x, y), omitting any connecting line segment.

  Specified by:
    `moveTo` in class `AbstractPathOrientedRenderer`
  Parameters:
    `x` - x coordinate
    `y` - y coordinate

### lineTo

    public void lineTo(float x,
                       float y)

  Appends a straight line segment from the current point to (x, y). The new current point is (x, y).

  Specified by:
    `lineTo` in class `AbstractPathOrientedRenderer`
  Parameters:
    `x` - x coordinate
    `y` - y coordinate

### closePath

    public void closePath()

  Closes the current subpath by appending a straight line segment from the current point to the starting point of the subpath.

  Specified by:
    `closePath` in class `AbstractPathOrientedRenderer`

### beginTextObject

    public void beginTextObject()

  Indicates the beginning of a text object.

  Specified by:
    `beginTextObject` in class `AbstractPathOrientedRenderer`

### endTextObject

    public void endTextObject()

  Indicates the end of a text object.

  Specified by:
    `endTextObject` in class `AbstractPathOrientedRenderer`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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