fop 0.93

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:
org.apache.avalon.framework.configuration.Configurable, Constants, Renderer

public class AFPRenderer
extends AbstractPathOrientedRenderer

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 possble 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 miscellanous 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 relevent 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).


Fields inherited from class org.apache.fop.render.PrintRenderer
fontInfo, fontList
 
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_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_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_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LOWERCASE, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, 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_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_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_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_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_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FOOTNOTE, FO_FOOTNOTE_BODY, 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_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_ROOT, 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_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_NAME, 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_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_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_HEIGHT, 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_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, 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_BLOCK_PROGRESSION_UNIT, PR_X_ORPHAN_CONTENT_LIMIT, 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.
 java.util.List breakOutOfStateStack()
          Breaks out of the state stack to handle fixed block-containers.
 java.util.List buildFontListFromConfiguration(org.apache.avalon.framework.configuration.Configuration cfg)
          Builds a list of AFPFontInfo objects for use with the setup() method.
 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.
 void configure(org.apache.avalon.framework.configuration.Configuration cfg)
          Configure the AFP renderer.
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 drawBufferedImage(java.awt.image.BufferedImage bi, int resolution, int x, int y, int w, int h)
          Draws a BufferedImage to AFP.
 void drawImage(java.lang.String url, 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.
 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.
 void lineTo(float x, float y)
          Appends a straight line segment from the current point to (x, y).
 void moveTo(float x, float y)
          Moves the current point to (x, y), omitting any connecting line segment.
 void preparePage(PageViewport page)
          Prepare a page for rendering.
 void processOffDocumentItem(OffDocumentItem odi)
          Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).
protected  void renderBlockViewport(BlockViewport bv, java.util.List children)
          Renders a block viewport.
 void renderImage(Image image, java.awt.geom.Rectangle2D pos)
          Renders an image area.
 void renderLeader(Leader area)
          Render leader area.
 void renderPage(PageViewport page)
          Tells the renderer to render a particular page.
 void renderRegionViewport(RegionViewport port)
          Renders a region viewport.
 void renderSpace(SpaceArea space)
          Render the given SpaceArea.
 void renderText(TextArea text)
          Render the given TextArea.
 void renderWord(WordArea word)
          Render the given WordArea.
 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 setLandscapeRotation(int rotation)
          Sets the rotation to be used for landsacpe pages, valid values are 0, 90, 180, 270 (default).
 void setOptions(java.util.Map options)
           
 void setPortraitRotation(int rotation)
          Sets the rotation to be used for portrait pages, valid values are 0 (default), 90, 180, 270.
 void setupFontInfo(FontInfo inFontInfo)
          Set up the font info
 void setUserAgent(FOUserAgent agent)
          Set the User Agent.
 void startRenderer(java.io.OutputStream outputStream)
          Initiates the rendering phase.
 void startVParea(CTM ctm, java.awt.geom.Rectangle2D 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.
 void updateColor(java.awt.Color col, boolean fill)
          Establishes a new foreground or fill color.
static void writeImage(java.awt.image.BufferedImage img, java.io.OutputStream out)
          Writes a BufferedImage to an OutputStream as raw sRGB bitmaps.
 
Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
drawBackAndBorders, drawBorders, drawImage, handleBlockTraits, handleRegionTraits, renderForeignObject, renderInlineAreaBackAndBorders, renderTextDecoration, renderViewport
 
Methods inherited from class org.apache.fop.render.PrintRenderer
getFontFromArea, getInternalFontNameForArea, lightenColor, renderDocument
 
Methods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, getCurrentPageViewport, getHandlerConfig, getImageAdapter, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFlow, renderFootnote, renderInlineArea, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, 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 font info
Overrides:
setupFontInfo in class PrintRenderer
Parameters:
inFontInfo - font info to set up

buildFontListFromConfiguration

public java.util.List buildFontListFromConfiguration(org.apache.avalon.framework.configuration.Configuration cfg)
                                              throws org.apache.avalon.framework.configuration.ConfigurationException
Builds a list of AFPFontInfo objects for use with the setup() method.
Parameters:
cfg - Configuration object
Returns:
List the newly created list of fonts
Throws:
org.apache.avalon.framework.configuration.ConfigurationException - if something's wrong with the config data

configure

public void configure(org.apache.avalon.framework.configuration.Configuration cfg)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Configure the AFP renderer. Get the configuration to be used for fonts etc.
Overrides:
configure in class AbstractRenderer
See Also:
Configurable.configure(Configuration)

setUserAgent

public void setUserAgent(FOUserAgent agent)
Description copied from interface: Renderer
Set the User Agent.
Overrides:
setUserAgent in class AbstractRenderer
See Also:
Renderer.setUserAgent(FOUserAgent)

startRenderer

public void startRenderer(java.io.OutputStream outputStream)
                   throws java.io.IOException
Description copied from interface: Renderer
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.
Overrides:
startRenderer in class AbstractRenderer
See Also:
Renderer.startRenderer(java.io.OutputStream)

stopRenderer

public void stopRenderer()
                  throws java.io.IOException
Description copied from interface: Renderer
Signals the end of the rendering phase. The renderer should reset to an initial state and dispose of any resources for the completed rendering.
Overrides:
stopRenderer in class AbstractRenderer
See Also:
Renderer.stopRenderer()

supportsOutOfOrder

public boolean supportsOutOfOrder()
Description copied from class: AbstractRenderer
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.
Overrides:
supportsOutOfOrder in class AbstractRenderer
See Also:
Renderer.supportsOutOfOrder()

preparePage

public void preparePage(PageViewport page)
Prepare a page for rendering. 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 render page.
Overrides:
preparePage in class AbstractRenderer
See Also:
Renderer.preparePage(PageViewport)

processOffDocumentItem

public void processOffDocumentItem(OffDocumentItem odi)
Description copied from interface: Renderer
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.
Overrides:
processOffDocumentItem in class AbstractRenderer
See Also:
Renderer.processOffDocumentItem(OffDocumentItem)

getGraphics2DAdapter

public Graphics2DAdapter getGraphics2DAdapter()
Overrides:
getGraphics2DAdapter in class AbstractRenderer
See Also:
Renderer.getGraphics2DAdapter()

startVParea

public void startVParea(CTM ctm,
                        java.awt.geom.Rectangle2D clippingRect)
Description copied from class: AbstractRenderer
Establishes a new viewport area.
Overrides:
startVParea in class AbstractRenderer
See Also:
AbstractRenderer.startVParea(CTM, Rectangle2D)

endVParea

public void endVParea()
Description copied from class: AbstractRenderer
Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.
Overrides:
endVParea in class AbstractRenderer
See Also:
AbstractRenderer.endVParea()

renderRegionViewport

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

Overrides:
renderRegionViewport in class AbstractRenderer
Parameters:
port - The region viewport to be rendered

renderBlockViewport

protected void renderBlockViewport(BlockViewport bv,
                                   java.util.List children)
Description copied from class: AbstractRenderer
Renders a block viewport.
Overrides:
renderBlockViewport in class AbstractPathOrientedRenderer
See Also:
AbstractRenderer.renderBlockViewport(BlockViewport, List)

renderPage

public void renderPage(PageViewport page)
Description copied from interface: Renderer
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.
Overrides:
renderPage in class AbstractRenderer
See Also:
Renderer.renderPage(PageViewport)

clip

public void clip()
Clip using the current path.
Overrides:
clip in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.clip()

clipRect

public void clipRect(float x,
                     float y,
                     float width,
                     float height)
Clip using a rectangular area.
Overrides:
clipRect in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.clipRect(float, float, float, float)

moveTo

public void moveTo(float x,
                   float y)
Moves the current point to (x, y), omitting any connecting line segment.
Overrides:
moveTo in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.moveTo(float, float)

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).
Overrides:
lineTo in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.lineTo(float, float)

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.
Overrides:
closePath in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.closePath()

fillRect

public void fillRect(float x,
                     float y,
                     float width,
                     float height)
Fill a rectangular area.
Overrides:
fillRect in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.fillRect(float, float, float, float)

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.
Overrides:
drawBorderLine in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.drawBorderLine(float, float, float, float, boolean, boolean, int, Color)

createRendererContext

protected RendererContext createRendererContext(int x,
                                                int y,
                                                int width,
                                                int height,
                                                java.util.Map foreignAttributes)
Description copied from class: PrintRenderer
Creates a RendererContext for an image.
Overrides:
createRendererContext in class PrintRenderer
See Also:
PrintRenderer.createRendererContext( int, int, int, int, java.util.Map)

drawImage

public void drawImage(java.lang.String url,
                      java.awt.geom.Rectangle2D pos,
                      java.util.Map foreignAttributes)
Draw an image at the indicated location.
Overrides:
drawImage in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.drawImage(String, Rectangle2D, Map)

writeImage

public static void writeImage(java.awt.image.BufferedImage img,
                              java.io.OutputStream out)
                       throws java.io.IOException
Writes a BufferedImage to an OutputStream as raw sRGB bitmaps.
Parameters:
img - the BufferedImage
out - the OutputStream
Throws:
java.io.IOException - In case of an I/O error.

drawBufferedImage

public void drawBufferedImage(java.awt.image.BufferedImage bi,
                              int resolution,
                              int x,
                              int y,
                              int w,
                              int h)
Draws a BufferedImage to AFP.
Parameters:
bi - the BufferedImage
resolution - the resolution of the BufferedImage
x - the x coordinate (in mpt)
y - the y coordinate (in mpt)
w - the width of the viewport (in mpt)
h - the height of the viewport (in mpt)

updateColor

public void updateColor(java.awt.Color col,
                        boolean fill)
Establishes a new foreground or fill color.
Overrides:
updateColor in class AbstractPathOrientedRenderer
See Also:
AbstractPathOrientedRenderer.updateColor(Color, boolean)

restoreStateStackAfterBreakOut

public void restoreStateStackAfterBreakOut(java.util.List breakOutList)
Restores the state stack after a break out.
Overrides:
restoreStateStackAfterBreakOut in class AbstractPathOrientedRenderer
Parameters:
breakOutList - the state stack to restore.

breakOutOfStateStack

public java.util.List breakOutOfStateStack()
Breaks out of the state stack to handle fixed block-containers.
Overrides:
breakOutOfStateStack in class AbstractPathOrientedRenderer
Returns:
the saved state stack to recreate later

saveGraphicsState

public void saveGraphicsState()
Saves the graphics state of the rendering engine.
Overrides:
saveGraphicsState in class AbstractPathOrientedRenderer

restoreGraphicsState

public void restoreGraphicsState()
Restores the last graphics state of the rendering engine.
Overrides:
restoreGraphicsState in class AbstractPathOrientedRenderer

beginTextObject

public void beginTextObject()
Indicates the beginning of a text object.
Overrides:
beginTextObject in class AbstractPathOrientedRenderer

endTextObject

public void endTextObject()
Indicates the end of a text object.
Overrides:
endTextObject in class AbstractPathOrientedRenderer

renderImage

public void renderImage(Image image,
                        java.awt.geom.Rectangle2D pos)
Description copied from class: AbstractRenderer
Renders an image area.
Overrides:
renderImage in class AbstractRenderer
See Also:
AbstractRenderer.renderImage(Image, Rectangle2D)

renderText

public void renderText(TextArea text)
Description copied from class: AbstractRenderer
Render the given TextArea.
Overrides:
renderText in class AbstractRenderer
See Also:
AbstractRenderer.renderText(TextArea)

renderWord

public void renderWord(WordArea word)
Description copied from class: AbstractRenderer
Render the given WordArea.
Overrides:
renderWord in class AbstractRenderer
See Also:
AbstractRenderer.renderWord(WordArea)

renderSpace

public void renderSpace(SpaceArea space)
Description copied from class: AbstractRenderer
Render the given SpaceArea.
Overrides:
renderSpace in class AbstractRenderer
See Also:
AbstractRenderer.renderSpace(SpaceArea)

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

setOptions

public void setOptions(java.util.Map options)
See Also:
org.apache.fop.render.Renderer#setOptions(Map)

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 landsacpe pages, valid values are 0, 90, 180, 270 (default).
Parameters:
rotation - The rotation in degrees.

getMimeType

public java.lang.String getMimeType()
Get the MIME type of the renderer.
Overrides:
getMimeType in class AbstractRenderer
Returns:
The MIME type of the renderer

fop 0.93

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