Package org.apache.fop.render.java2d
Class Java2DRenderer
java.lang.Object
org.apache.fop.render.AbstractRenderer
org.apache.fop.render.PrintRenderer
org.apache.fop.render.AbstractPathOrientedRenderer
org.apache.fop.render.java2d.Java2DRenderer
- Direct Known Subclasses:
AWTRenderer,PageableRenderer,PNGRenderer,TIFFRenderer
The
Java2DRenderer class provides the abstract technical
foundation for all rendering with the Java2D API. Renderers like
AWTRenderer subclass it and provide the concrete output paths.
A lot of the logic is performed by AbstractRenderer. The
class-variables currentIPPosition and
currentBPPosition hold the position of the currently rendered
area.
Java2DGraphicsState state holds the Graphics2D,
which is used along the whole rendering. state also acts as a
stack (state.push() and state.pop()).
The rendering process is basically always the same:
void renderXXXXX(Area area) {
//calculate the currentPosition
state.updateFont(name, size, null);
state.updateColor(ct, false, null);
state.getGraph.draw(new Shape(args));
}
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleantrue if anti-aliasing is setprotected intThe page height in pixelsprotected ListList of Viewportsprotected intThe page width in pixelsprotected booleantrue if qualityRendering is setprotected doubleThe scale factor for the image size, values: ]0 ; 1]protected Java2DGraphicsStateThe current state, holds a Graphics2D and its contextprotected booleanfalse: paints a non-transparent white background, true: for a transparent backgroundFields inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
FOX_TRANSFORMFields inherited from class org.apache.fop.render.PrintRenderer
embedFontInfoList, fontInfoFields inherited from class org.apache.fop.render.AbstractRenderer
bindingOnEndEdge, bindingOnStartEdge, blockProgressionDirection, columnCount, columnEndIPPosition, columnGap, columnIndex, columnLeftIPPosition, columnRightIPPosition, columnStartIPPosition, columnWidth, containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, inlineProgressionDirection, log, userAgentFields 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_MASKFields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidIndicates the beginning of a text object.protected ListBreaks out of the state stack to handle fixed block-containers.voidClears the ViewportList.protected voidclip()Clip using the current path.protected voidclipRect(float x, float y, float width, float height) Clip using a rectangular area.protected voidCloses the current subpath by appending a straight line segment from the current point to the starting point of the subpath.protected voidConcatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.protected RendererContextcreateRendererContext(int x, int y, int width, int height, Map foreignAttributes) Creates a RendererContext for an image.protected voiddrawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col) Draw a border segment of an XSL-FO style border.static voiddrawBorderLine(Rectangle2D.Float lineRect, boolean horz, boolean startOrBefore, int style, Color col, Graphics2D g2d) Draw a border segment of an XSL-FO style border.protected voiddrawImage(String uri, Rectangle2D pos, Map foreignAttributes) Draw an image at the indicated location.protected voidendLayer()Finish current optional content group layer.protected voidIndicates the end of a text object.protected voidSignals exit from a viewport area.protected voidfillRect(float x, float y, float width, float height) Fill a rectangular area.protected BufferedImagegetBufferedImage(int bitmapWidth, int bitmapHeight) Returns a specificBufferedImageto paint a page image on.intintReturns the number of pages available.getPageImage(int pageNum) Generates a desired page from the renderer's page viewport list.getPageImage(PageViewport pageViewport) Generates a desired page from the renderer's page viewport list.getPageViewport(int pageIndex) Returns a page viewport.doubleReturns the associated user agent.booleanprotected voidlineTo(float x, float y) Appends a straight line segment from the current point to (x, y).protected voidmoveTo(float x, float y) Moves the current point to (x, y), omitting any connecting line segment.intprint(Graphics g, PageFormat pageFormat, int pageIndex) protected voidrememberPage(PageViewport pageViewport) Stores the pageViewport in a list of page viewports so they can be rendered later.voidrenderImage(Image image, Rectangle2D pos) Renders an image area.voidrenderLeader(Leader area) Render leader area.voidrenderPage(PageViewport pageViewport) This method override only stores the PageViewport in a List.voidrenderText(TextArea text) Render the given TextArea.static voidrenderText(TextArea text, Graphics2D g2d, Font font, FontInfo fontInfo) Renders a TextArea to a Graphics2D instance.protected voidRestores the last graphics state of the rendering engine.protected voidrestoreStateStackAfterBreakOut(List breakOutList) Restores the state stack after a break out.protected voidSaves the graphics state of the rendering engine.voidsetCurrentPageNumber(int c) voidsetScaleFactor(double newScaleFactor) Sets the new scale factor.voidsetTransparentPageBackground(boolean transparentPageBackground) Controls the page background.voidsetupFontInfo(FontInfo inFontInfo) Set up the given FontInfo.protected voidstartLayer(String layer) Establish new optional content group layer.voidInitiates the rendering phase.protected voidstartVParea(CTM ctm, Rectangle clippingRect) Establishes a new viewport area.voidSignals the end of the rendering phase.protected voidupdateColor(Color col, boolean fill) Establishes a new foreground or fill color.Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer
clipBackground, drawBackAndBorders, drawBackAndBorders, drawBackground, drawBackground, drawBorders, drawBorders, drawImage, establishTransformationMatrix, handleBlockTraits, handleRegionTraits, renderBlockViewport, renderFlow, renderForeignObject, renderInlineAreaBackAndBorders, renderInlineViewport, renderReferenceArea, renderTextDecorationMethods inherited from class org.apache.fop.render.PrintRenderer
addFontList, getFontFromArea, getFontInfo, getFontList, getInternalFontNameForArea, instantiateRendererContext, renderDocument, setFontListMethods inherited from class org.apache.fop.render.AbstractRenderer
convertTitleToString, drawChangeBars, getBeginOffset, getCurrentPageViewport, getImageAdapter, maybeEndLayer, maybeStartLayer, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBodyRegion, renderContainer, renderFootnote, renderInlineArea, renderInlineBlock, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLineArea, renderMainReference, renderPageAreas, renderRegion, renderRegionViewport, renderSpace, renderWord, renderXML, setBeginOffset, setDocumentLocale, startPageSequence, startPageSequence, supportsOutOfOrderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.fop.render.Renderer
getMimeType
-
Field Details
-
scaleFactor
protected double scaleFactorThe scale factor for the image size, values: ]0 ; 1] -
pageWidth
protected int pageWidthThe page width in pixels -
pageHeight
protected int pageHeightThe page height in pixels -
pageViewportList
List of Viewports -
antialiasing
protected boolean antialiasingtrue if anti-aliasing is set -
qualityRendering
protected boolean qualityRenderingtrue if qualityRendering is set -
transparentPageBackground
protected boolean transparentPageBackgroundfalse: paints a non-transparent white background, true: for a transparent background -
state
The current state, holds a Graphics2D and its context
-
-
Constructor Details
-
Java2DRenderer
Default constructor- Parameters:
userAgent- the user agent that contains configuration details. This cannot be null.
-
-
Method Details
-
getUserAgent
Description copied from class:AbstractRendererReturns the associated user agent.- Specified by:
getUserAgentin interfaceRenderer- Overrides:
getUserAgentin classAbstractRenderer- Returns:
- the FOUserAgent
-
setupFontInfo
Set up the given FontInfo.- Specified by:
setupFontInfoin interfaceRenderer- Overrides:
setupFontInfoin classPrintRenderer- Parameters:
inFontInfo- The font information
-
getGraphics2DAdapter
- Specified by:
getGraphics2DAdapterin interfaceRenderer- Overrides:
getGraphics2DAdapterin classAbstractRenderer- Returns:
- the adapter for painting Java2D images (or null if not supported)
-
setScaleFactor
public void setScaleFactor(double newScaleFactor) Sets the new scale factor.- Parameters:
newScaleFactor- ]0 ; 1]
-
getScaleFactor
public double getScaleFactor()- Returns:
- the scale factor
-
startRenderer
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:
startRendererin interfaceRenderer- Overrides:
startRendererin classAbstractRenderer- Parameters:
out- The OutputStream to use for output- Throws:
IOException- If an I/O error occurs
-
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.- Specified by:
stopRendererin interfaceRenderer- Overrides:
stopRendererin classAbstractRenderer- Throws:
IOException- If an I/O error occurs
-
isRenderingDone
public boolean isRenderingDone()- Returns:
- true if the renderer is not currently processing
-
getCurrentPageNumber
public int getCurrentPageNumber()- Returns:
- The 0-based current page number
-
setCurrentPageNumber
public void setCurrentPageNumber(int c) - Parameters:
c- the 0-based current page number
-
getNumberOfPages
public int getNumberOfPages()Returns the number of pages available. This method is also part of the Pageable interface.- Returns:
- The 0-based total number of rendered pages
- See Also:
-
clearViewportList
public void clearViewportList()Clears the ViewportList. Used if the document is reloaded. -
renderPage
This method override only stores the PageViewport in a List. No actual rendering is performed here. A renderer override renderPage() to get the freshly produced PageViewport, and render them on the fly (producing the desired BufferedImages by calling getPageImage(), which lazily starts the rendering process).- Specified by:
renderPagein interfaceRenderer- Overrides:
renderPagein classAbstractRenderer- Parameters:
pageViewport- thePageViewportobject supplied by the Area Tree- Throws:
IOException- In case of an I/O errorFOPException- if cloning of pageViewport is not supported- See Also:
-
rememberPage
Stores the pageViewport in a list of page viewports so they can be rendered later. Subclasses can override this method to filter pages, for example.- Parameters:
pageViewport- the page viewport
-
getPageImage
Generates a desired page from the renderer's page viewport list.- Parameters:
pageViewport- the PageViewport to be rendered- Returns:
- the
java.awt.image.BufferedImagecorresponding to the page or null if the page doesn't exist.
-
getBufferedImage
Returns a specificBufferedImageto paint a page image on. This method can be overridden in subclasses to produce different image formats (ex. grayscale or b/w).- Parameters:
bitmapWidth- width of the image in pixelsbitmapHeight- heigth of the image in pixels- Returns:
- the newly created BufferedImage
-
getPageViewport
Returns a page viewport.- Parameters:
pageIndex- the page index (zero-based)- Returns:
- the requested PageViewport instance
- Throws:
FOPException- If the page is out of range.
-
getPageImage
Generates a desired page from the renderer's page viewport list.- Parameters:
pageNum- the 0-based page number to generate- Returns:
- the
java.awt.image.BufferedImagecorresponding to the page or null if the page doesn't exist. - Throws:
FOPException- If there's a problem preparing the page image
-
saveGraphicsState
protected void saveGraphicsState()Saves the graphics state of the rendering engine.- Specified by:
saveGraphicsStatein classAbstractPathOrientedRenderer
-
restoreGraphicsState
protected void restoreGraphicsState()Restores the last graphics state of the rendering engine.- Specified by:
restoreGraphicsStatein classAbstractPathOrientedRenderer
-
concatenateTransformationMatrix
Concatenates the current transformation matrix with the given one, therefore establishing a new coordinate system.- Specified by:
concatenateTransformationMatrixin classAbstractPathOrientedRenderer- Parameters:
at- the transformation matrix to process (coordinates in points)
-
startVParea
Establishes a new viewport area.- Specified by:
startVPareain classAbstractRenderer- Parameters:
ctm- the coordinate transformation matrix to useclippingRect- the clipping rectangle if the viewport should be clipping, null if no clipping is performed.
-
endVParea
protected void endVParea()Signals exit from a viewport area. Subclasses can restore transformation matrices valid before the viewport area was started.- Specified by:
endVPareain classAbstractRenderer
-
startLayer
Establish new optional content group layer.- Specified by:
startLayerin classAbstractRenderer- Parameters:
layer- name of layer
-
endLayer
protected void endLayer()Finish current optional content group layer.- Specified by:
endLayerin classAbstractRenderer
-
breakOutOfStateStack
Breaks out of the state stack to handle fixed block-containers.- Specified by:
breakOutOfStateStackin classAbstractPathOrientedRenderer- Returns:
- the saved state stack to recreate later
-
restoreStateStackAfterBreakOut
Restores the state stack after a break out.- Specified by:
restoreStateStackAfterBreakOutin classAbstractPathOrientedRenderer- Parameters:
breakOutList- the state stack to restore.
-
updateColor
Establishes a new foreground or fill color.- Specified by:
updateColorin classAbstractPathOrientedRenderer- Parameters:
col- the color to apply (null skips this operation)fill- true to set the fill color, false for the foreground color
-
clip
protected void clip()Clip using the current path.- Specified by:
clipin classAbstractPathOrientedRenderer
-
closePath
protected 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:
closePathin classAbstractPathOrientedRenderer
-
lineTo
protected 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:
lineToin classAbstractPathOrientedRenderer- Parameters:
x- x coordinatey- y coordinate
-
moveTo
protected void moveTo(float x, float y) Moves the current point to (x, y), omitting any connecting line segment.- Specified by:
moveToin classAbstractPathOrientedRenderer- Parameters:
x- x coordinatey- y coordinate
-
clipRect
protected void clipRect(float x, float y, float width, float height) Clip using a rectangular area.- Specified by:
clipRectin classAbstractPathOrientedRenderer- 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)
-
fillRect
protected void fillRect(float x, float y, float width, float height) Fill a rectangular area.- Specified by:
fillRectin classAbstractPathOrientedRenderer- Parameters:
x- the x coordinatey- the y coordinatewidth- the width of the rectangleheight- the height of the rectangle
-
drawBorderLine
protected void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col) Draw a border segment of an XSL-FO style border.- Specified by:
drawBorderLinein classAbstractPathOrientedRenderer- Parameters:
x1- starting x coordinatey1- starting y coordinatex2- ending x coordinatey2- ending y coordinatehorz- true for horizontal border segments, false for vertical border segmentsstartOrBefore- true for border segments on the start or before edge, false for end or after.style- the border style (one of Constants.EN_DASHED etc.)col- the color for the border segment
-
drawBorderLine
public static void drawBorderLine(Rectangle2D.Float lineRect, boolean horz, boolean startOrBefore, int style, Color col, Graphics2D g2d) Draw a border segment of an XSL-FO style border.- Parameters:
lineRect- the line defined by its bounding rectanglehorz- true for horizontal border segments, false for vertical border segmentsstartOrBefore- true for border segments on the start or before edge, false for end or after.style- the border style (one of Constants.EN_DASHED etc.)col- the color for the border segmentg2d- the Graphics2D instance to paint to
-
renderText
Render the given TextArea.- Overrides:
renderTextin classAbstractRenderer- Parameters:
text- the text to render
-
renderText
Renders a TextArea to a Graphics2D instance. Adjust the coordinate system so that the start of the baseline of the first character is at coordinate (0,0).- Parameters:
text- the TextAreag2d- the Graphics2D to render tofont- the font to paint withfontInfo- the font information
-
renderLeader
Render leader area. This renders a leader area which is an area with a rule.- Overrides:
renderLeaderin classAbstractRenderer- Parameters:
area- the leader area to render
-
renderImage
Renders an image area.- Overrides:
renderImagein classAbstractRenderer- Parameters:
image- The imagepos- The target position of the image (todo) Make renderImage() protected
-
drawImage
Draw an image at the indicated location.- Specified by:
drawImagein classAbstractPathOrientedRenderer- Parameters:
uri- the URI/URL of the imagepos- the position of the imageforeignAttributes- an optional Map with foreign attributes, may be null
-
createRendererContext
protected RendererContext createRendererContext(int x, int y, int width, int height, Map foreignAttributes) Creates a RendererContext for an image.- Overrides:
createRendererContextin classPrintRenderer- 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
-
print
- Specified by:
printin interfacePrintable- Throws:
PrinterException
-
beginTextObject
protected void beginTextObject()Indicates the beginning of a text object.- Specified by:
beginTextObjectin classAbstractPathOrientedRenderer
-
endTextObject
protected void endTextObject()Indicates the end of a text object.- Specified by:
endTextObjectin classAbstractPathOrientedRenderer
-
setTransparentPageBackground
public void setTransparentPageBackground(boolean transparentPageBackground) Controls the page background.- Parameters:
transparentPageBackground- true if the background should be transparent
-