org.apache.fop.layoutmgr.inline

Class LeafNodeLayoutManager

Implemented Interfaces:
Constants, InlineLevelLayoutManager, LayoutManager, PercentBaseContext
Known Direct Subclasses:
AbstractGraphicsLayoutManager, AbstractPageNumberCitationLayoutManager, BidiLayoutManager, CharacterLayoutManager, ICLayoutManager, LeaderLayoutManager, PageNumberLayoutManager, TextLayoutManager, WrapperLayoutManager

public abstract class LeafNodeLayoutManager
extends AbstractLayoutManager
implements InlineLevelLayoutManager

Base LayoutManager for leaf-node FObj, ie: ones which have no children. These are all inline objects. Most of them cannot be split (Text is an exception to this rule.) This class can be extended to handle the creation and adding of the inline area.

Nested Class Summary

protected class
LeafNodeLayoutManager.AreaInfo
Store information about the inline area

Field Summary

protected AlignmentContext
alignmentContext
The alignment context applying to this area
protected LeafNodeLayoutManager.AreaInfo
areaInfo
Our area info for the Knuth elements
protected CommonBorderPaddingBackground
commonBorderPaddingBackground
Any border, padding and background properties applying to this area
protected InlineArea
curArea
The inline area that this leafnode will add.
protected boolean
isSomethingChanged
Flag to indicate if something was changed as part of the getChangeKnuthElements sequence
protected static Log
log
logging instance

Fields inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager

childLMiter, childLMs, curChildLM, fobjIter, parentLM

Fields inherited from class org.apache.fop.layoutmgr.AbstractBaseLayoutManager

fobj, generatesBlockArea, generatesReferenceArea

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, ENUM_COUNT, 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_NONE, EN_NON_UNIFORM, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, 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_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_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_SMALLER, EN_SMALL_CAPS, EN_SMALL_CAPTION, 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_USECONTENT, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_VISIBLE, EN_WIDER, EN_WRAP, EN_X_DISTRIBUTE, EN_X_FILL, 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, PROPERTY_COUNT, PROPERTY_MASK, 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_ENDS_ROW, PR_END_INDENT, 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_LINEFEED_TREATMENT, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, 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_MAXIMUM_REPEATS, PR_MAX_HEIGHT, PR_MAX_WIDTH, 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_REFERENCE_ORIENTATION, PR_REF_ID, 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_STARTING_STATE, PR_STARTS_ROW, PR_START_INDENT, 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_XML_LANG, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_Z_INDEX

Constructor Summary

LeafNodeLayoutManager()
Create a Leaf node layout mananger.
LeafNodeLayoutManager(FObj node)
Create a Leaf node layout mananger.

Method Summary

List
addALetterSpaceTo(List oldList)
void
addAreas(PositionIterator posIter, LayoutContext context)
Add the area for this layout manager.
void
addChildArea(Area childArea)
This is a leaf-node, so this method is never called.
protected void
addId()
This method is called by addAreas() so IDs can be added to a page for FOs that support the 'id' property.
protected void
addKnuthElementsForBorderPaddingEnd(List returnList)
Creates Knuth elements for end border padding and adds them to the return list.
protected void
addKnuthElementsForBorderPaddingStart(List returnList)
Creates Knuth elements for start border padding and adds them to the return list.
boolean
applyChanges(List oldList)
InlineArea
get(LayoutContext context)
get the inline area.
protected MinOptMax
getAllocationIPD(int refIPD)
Get the allocation ipd of the inline area.
LinkedList
getChangedKnuthElements(List oldList, int alignment)
protected InlineArea
getEffectiveArea()
LinkedList
getNextKnuthElements(LayoutContext context, int alignment)
Area
getParentArea(Area childArea)
This is a leaf-node, so this method is never called.
void
getWordChars(StringBuffer sbChars, Position pos)
void
hyphenate(Position pos, HyphContext hc)
protected AlignmentContext
makeAlignmentContext(LayoutContext context)
Creates a new alignment context or returns the current alignment context.
protected void
offsetArea(InlineArea area, LayoutContext context)
Offset this area.
void
removeWordSpace(List oldList)
Remove the word space represented by the given elements
boolean
resolved()
Check if this inline area is resolved due to changes in page or ipd.
protected void
setCommonBorderPaddingBackground(CommonBorderPaddingBackground commonBorderPaddingBackground)
Set the border and padding properties of the inline area.
void
setCurrentArea(InlineArea ia)
Set the current inline area.
protected void
widthAdjustArea(InlineArea area, LayoutContext context)
Adjust the width of the area when adding.

Methods inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager

addAreas, addChildArea, addChildLM, addChildLMs, addMarkersToPage, createChildLMs, createNextChildLMs, getChangedKnuthElements, getChildLM, getChildLMs, getCurrentPV, getCurrentPage, getNextKnuthElements, getPSLM, getParent, getParentArea, hasNextChildLM, initialize, isFinished, isFirst, isLast, notifyPos, setFinished, setParent, toString, transferForeignAttributes

Methods inherited from class org.apache.fop.layoutmgr.AbstractBaseLayoutManager

getAncestorBlockAreaBPD, getAncestorBlockAreaIPD, getBaseLength, getContentAreaBPD, getContentAreaIPD, getFObj, getGeneratesBlockArea, getGeneratesLineArea, getGeneratesReferenceArea, getParentAreaBPD, getParentAreaIPD, getReferenceAreaBPD, getReferenceAreaIPD, setGeneratesBlockArea, setGeneratesReferenceArea

Field Details

alignmentContext

protected AlignmentContext alignmentContext
The alignment context applying to this area

areaInfo

protected LeafNodeLayoutManager.AreaInfo areaInfo
Our area info for the Knuth elements

commonBorderPaddingBackground

protected CommonBorderPaddingBackground commonBorderPaddingBackground
Any border, padding and background properties applying to this area

curArea

protected InlineArea curArea
The inline area that this leafnode will add.

isSomethingChanged

protected boolean isSomethingChanged
Flag to indicate if something was changed as part of the getChangeKnuthElements sequence

log

protected static Log log
logging instance

Constructor Details

LeafNodeLayoutManager

public LeafNodeLayoutManager()
Create a Leaf node layout mananger.

LeafNodeLayoutManager

public LeafNodeLayoutManager(FObj node)
Create a Leaf node layout mananger.
Parameters:
node - the FObj to attach to this LM.

Method Details

addALetterSpaceTo

public List addALetterSpaceTo(List oldList)
Specified by:
addALetterSpaceTo in interface InlineLevelLayoutManager

addAreas

public void addAreas(PositionIterator posIter,
                     LayoutContext context)
Add the area for this layout manager. This adds the single inline area to the parent.
Specified by:
addAreas in interface LayoutManager
Overrides:
addAreas in interface AbstractLayoutManager
Parameters:
posIter - the position iterator
context - the layout context for adding the area

addChildArea

public void addChildArea(Area childArea)
This is a leaf-node, so this method is never called.
Specified by:
addChildArea in interface LayoutManager
Overrides:
addChildArea in interface AbstractLayoutManager
Parameters:
childArea - the childArea to add

addId

protected void addId()
This method is called by addAreas() so IDs can be added to a page for FOs that support the 'id' property.

addKnuthElementsForBorderPaddingEnd

protected void addKnuthElementsForBorderPaddingEnd(List returnList)
Creates Knuth elements for end border padding and adds them to the return list.
Parameters:
returnList - return list to add the additional elements to

addKnuthElementsForBorderPaddingStart

protected void addKnuthElementsForBorderPaddingStart(List returnList)
Creates Knuth elements for start border padding and adds them to the return list.
Parameters:
returnList - return list to add the additional elements to

applyChanges

public boolean applyChanges(List oldList)
Specified by:
applyChanges in interface InlineLevelLayoutManager

get

public InlineArea get(LayoutContext context)
get the inline area.
Parameters:
context - the context used to create the area
Returns:
the current inline area for this layout manager

getAllocationIPD

protected MinOptMax getAllocationIPD(int refIPD)
Get the allocation ipd of the inline area. This method may be overridden to handle percentage values.
Parameters:
refIPD - the ipd of the parent reference area
Returns:
the min/opt/max ipd of the inline area

getChangedKnuthElements

public LinkedList getChangedKnuthElements(List oldList,
                                          int alignment)
Specified by:
getChangedKnuthElements in interface LayoutManager
Overrides:
getChangedKnuthElements in interface AbstractLayoutManager

getEffectiveArea

protected InlineArea getEffectiveArea()
Returns:
the effective area to be added to the area tree. Normally, this is simply "curArea" but in the case of page-number(-citation) curArea is cloned, updated and returned.

getNextKnuthElements

public LinkedList getNextKnuthElements(LayoutContext context,
                                       int alignment)
Specified by:
getNextKnuthElements in interface LayoutManager
Overrides:
getNextKnuthElements in interface AbstractLayoutManager

getParentArea

public Area getParentArea(Area childArea)
This is a leaf-node, so this method is never called.
Specified by:
getParentArea in interface LayoutManager
Overrides:
getParentArea in interface AbstractLayoutManager
Parameters:
childArea - the childArea to get the parent for
Returns:
the parent area

getWordChars

public void getWordChars(StringBuffer sbChars,
                         Position pos)
Specified by:
getWordChars in interface InlineLevelLayoutManager

hyphenate

public void hyphenate(Position pos,
                      HyphContext hc)
Specified by:
hyphenate in interface InlineLevelLayoutManager

makeAlignmentContext

protected AlignmentContext makeAlignmentContext(LayoutContext context)
Creates a new alignment context or returns the current alignment context. This is used for vertical alignment. Subclasses should override this if necessary.
Parameters:
context - the layout context used
Returns:
the appropriate alignment context

offsetArea

protected void offsetArea(InlineArea area,
                          LayoutContext context)
Offset this area. Offset the inline area in the bpd direction when adding the inline area. This is used for vertical alignment. Subclasses should override this if necessary.
Parameters:
area - the inline area to be updated
context - the layout context used for adding the area

removeWordSpace

public void removeWordSpace(List oldList)
Remove the word space represented by the given elements
Specified by:
removeWordSpace in interface InlineLevelLayoutManager
Parameters:
oldList - the elements representing the word space

resolved

public boolean resolved()
Check if this inline area is resolved due to changes in page or ipd. Currently not used.
Returns:
true if the area is resolved when adding

setCommonBorderPaddingBackground

protected void setCommonBorderPaddingBackground(CommonBorderPaddingBackground commonBorderPaddingBackground)
Set the border and padding properties of the inline area.
Parameters:
commonBorderPaddingBackground - the alignment adjust property

setCurrentArea

public void setCurrentArea(InlineArea ia)
Set the current inline area.
Parameters:
ia - the inline area to set for this layout manager

widthAdjustArea

protected void widthAdjustArea(InlineArea area,
                               LayoutContext context)
Adjust the width of the area when adding. This uses the min/opt/max values to adjust the with of the inline area by a percentage.
Parameters:
area - the inline area to be updated
context - the layout context for adding this area

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