Package org.apache.fop.layoutmgr
Class BlockLayoutManager
- java.lang.Object
-
- All Implemented Interfaces:
PercentBaseContext
,Constants
,BlockLevelLayoutManager
,BreakOpportunity
,ConditionalElementListener
,LayoutManager
public class BlockLayoutManager extends SpacedBorderedPaddedBlockLayoutManager implements BreakOpportunity
LayoutManager for a block FO.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
BlockLayoutManager.ProxyLMiter
Proxy iterator for Block LM.-
Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager
BlockStackingLayoutManager.MappingPosition
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.ListIterator<LayoutManager>
proxyLMiter
Iterator over the child layout managers.-
Fields inherited from class org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager
discardBorderAfter, discardBorderBefore, discardPaddingAfter, discardPaddingBefore, effSpaceAfter, effSpaceBefore
-
Fields inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager
adjustedSpaceAfter, adjustedSpaceBefore, bpUnit, breakBeforeServed, endIndent, firstVisibleMarkServed, foSpaceAfter, foSpaceBefore, parentArea, referenceIPD, startIndent, storedList
-
Fields inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager
childLMiter, childLMs, curChildLM, fobjIter, parentLayoutManager
-
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, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_BT, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_INCLUDING_CARRYOVER, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SELECT_FIRST_FITTING, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB, EN_TB_LR, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
-
-
Constructor Summary
Constructors Constructor Description BlockLayoutManager(Block inBlock)
Creates a new BlockLayoutManager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAreas(PositionIterator parentIter, LayoutContext layoutContext)
Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.void
addChildArea(Area childArea)
Add the childArea to the current area.boolean
createNextChildLMs(int pos)
Create more child LMs of the parent, up to child LM index posprotected void
flush()
Force current area to be added to parent area.protected Block
getBlockFO()
convenience method that returns the Block nodeprotected CommonBorderPaddingBackground
getCommonBorderPaddingBackground()
Returns theCommonBorderPaddingBackground
instance from the FO handled by this layout manager.int
getContentAreaBPD()
Returns the BPD of the content areaint
getContentAreaIPD()
Returns the IPD of the content areaboolean
getGeneratesBlockArea()
Returns an indication if the layout manager generates a block area.KeepProperty
getKeepTogetherProperty()
Returns the keep-together property specified on the FObj.KeepProperty
getKeepWithNextProperty()
Returns the keep-with-next property specified on the FObj.KeepProperty
getKeepWithPreviousProperty()
Returns the keep-with-previous property specified on the FObj.protected java.util.List<ListElement>
getNextChildElements(LayoutManager childLM, LayoutContext context, LayoutContext childLC, int alignment, java.util.Stack lmStack, Position restartPosition, LayoutManager restartAtLM)
Overridden to take into account that the childLM may be the block'sLineLayoutManager
.java.util.List
getNextKnuthElements(LayoutContext context, int alignment)
Get a sequence of KnuthElements representing the content of the node assigned to the LM.java.util.List
getNextKnuthElements(LayoutContext context, int alignment, java.util.Stack lmStack, Position restartPosition, LayoutManager restartAtLM)
Returns an updated list of Knuth elements corresponding to this layout manager, after a change of IPD has been detected.Area
getParentArea(Area childArea)
Return an Area which can contain the passed childArea.void
initialize()
initialize the layout manager.boolean
isRestartable()
Returnstrue
if this layout manager is able to re-generate its Knuth elements after an IPD change.-
Methods inherited from class org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager
getBaselineOffset, notifyBorder, notifyPadding, notifySpace
-
Methods inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager
addBlockSpacing, addChildToArea, addFirstVisibleMarks, addInBetweenBreak, addKnuthElementsForBorderPaddingAfter, addKnuthElementsForBorderPaddingBefore, addKnuthElementsForBreakAfter, addKnuthElementsForBreakBefore, addKnuthElementsForSpaceAfter, addKnuthElementsForSpaceBefore, addLastVisibleMarks, addPendingMarks, breakBeforeServed, discardSpace, getAuxiliaryPosition, getBreakBefore, getChangedKnuthElements, getCurrentArea, getIPIndents, getKeepTogether, getKeepWithNext, getKeepWithPrevious, getParentKeepTogether, getSpaceAfterProperty, getSpaceBeforeProperty, handleOverflow, makeChildLayoutContext, mustKeepTogether, mustKeepWithNext, mustKeepWithPrevious, neededUnits, negotiateBPDAdjustment, reset, setContentAreaIPD, setCurrentArea, updateContentAreaIPDwithOverconstrainedAdjust, updateContentAreaIPDwithOverconstrainedAdjust, wrapPositionElement, wrapPositionElements, wrapPositionElements
-
Methods inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager
addChildLM, addChildLMs, addId, checkEndOfLayout, createChildLMs, getChildLM, getChildLMs, getCurrentPage, getCurrentPV, getParent, getPSLM, handlingFloat, hasLineAreaDescendant, hasNextChildLM, isFinished, isFirst, isLast, newNoLineAreaDescendantException, notifyEndOfLayout, notifyPos, possiblyRegisterMarkersForTables, preserveChildrenAtEndOfLayout, recreateChildrenLMs, registerMarkers, setCurrentChildLM, setFinished, setParent, toString, transferExtensionAttachments, transferExtensions, transferForeignAttributes
-
Methods inherited from class org.apache.fop.layoutmgr.AbstractBaseLayoutManager
getAncestorBlockAreaBPD, getAncestorBlockAreaIPD, getBaseLength, getChangeBarList, getFObj, getGeneratesLineArea, getGeneratesReferenceArea, getParentAreaBPD, getParentAreaIPD, getReferenceAreaBPD, getReferenceAreaIPD, setGeneratesBlockArea, setGeneratesReferenceArea
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.fop.layoutmgr.BreakOpportunity
getBreakBefore
-
Methods inherited from interface org.apache.fop.layoutmgr.LayoutManager
addChildLM, addChildLMs, getChildLMs, getFObj, getGeneratesLineArea, getGeneratesReferenceArea, getParent, getPSLM, hasLineAreaDescendant, isFinished, notifyPos, setFinished, setParent
-
Methods inherited from interface org.apache.fop.datatypes.PercentBaseContext
getBaseLength
-
-
-
-
Field Detail
-
proxyLMiter
protected java.util.ListIterator<LayoutManager> proxyLMiter
Iterator over the child layout managers.
-
-
Constructor Detail
-
BlockLayoutManager
public BlockLayoutManager(Block inBlock)
Creates a new BlockLayoutManager.- Parameters:
inBlock
- the block FO object to create the layout manager for.
-
-
Method Detail
-
initialize
public void initialize()
initialize the layout manager. Allows each layout manager to calculate often used values.- Specified by:
initialize
in interfaceLayoutManager
- Overrides:
initialize
in classAbstractLayoutManager
-
getCommonBorderPaddingBackground
protected CommonBorderPaddingBackground getCommonBorderPaddingBackground()
Description copied from class:SpacedBorderedPaddedBlockLayoutManager
Returns theCommonBorderPaddingBackground
instance from the FO handled by this layout manager.- Specified by:
getCommonBorderPaddingBackground
in classSpacedBorderedPaddedBlockLayoutManager
-
getNextKnuthElements
public java.util.List getNextKnuthElements(LayoutContext context, int alignment)
Get a sequence of KnuthElements representing the content of the node assigned to the LM.- Specified by:
getNextKnuthElements
in interfaceLayoutManager
- Overrides:
getNextKnuthElements
in classBlockStackingLayoutManager
- Parameters:
context
- the LayoutContext used to store layout informationalignment
- the desired text alignment- Returns:
- the list of KnuthElements
-
getNextKnuthElements
public java.util.List getNextKnuthElements(LayoutContext context, int alignment, java.util.Stack lmStack, Position restartPosition, LayoutManager restartAtLM)
Returns an updated list of Knuth elements corresponding to this layout manager, after a change of IPD has been detected.- Specified by:
getNextKnuthElements
in interfaceLayoutManager
- Overrides:
getNextKnuthElements
in classBlockStackingLayoutManager
- Parameters:
context
- the layout contextalignment
- the alignmentlmStack
- the stack of LMs that are active at the IPD changerestartPosition
- the position corresponding to the element finishing the page before the IPD changerestartAtLM
- if not null, the layout manager from which to restart. That is, the IPD change occurs between two block elements and not inside a paragraph- Returns:
- an updated list of elements, taking the new IPD into account
-
getNextChildElements
protected java.util.List<ListElement> getNextChildElements(LayoutManager childLM, LayoutContext context, LayoutContext childLC, int alignment, java.util.Stack lmStack, Position restartPosition, LayoutManager restartAtLM)
Overridden to take into account that the childLM may be the block'sLineLayoutManager
. Gets the next set of child elements for the given childLM. The default implementation basically copies the pending marks to the child layout context, and subsequently calls the appropriate variant ofchildLM.getNextKnuthElements()
, passing it all relevant parameters.- Overrides:
getNextChildElements
in classBlockStackingLayoutManager
- Parameters:
childLM
- the current child LMcontext
- the layout contextchildLC
- the child layout contextalignment
- the vertical alignmentlmStack
- the stack of currently active LMs (if any)restartPosition
- the position to restart from (if any)restartAtLM
- the LM to restart from (if any)- Returns:
- list of elements corresponding to the content generated by childLM
-
createNextChildLMs
public boolean createNextChildLMs(int pos)
Create more child LMs of the parent, up to child LM index pos- Specified by:
createNextChildLMs
in interfaceLayoutManager
- Overrides:
createNextChildLMs
in classAbstractLayoutManager
- Parameters:
pos
- index up to which child LMs are requested- Returns:
- true if requested index does exist
-
getKeepTogetherProperty
public KeepProperty getKeepTogetherProperty()
Returns the keep-together property specified on the FObj. Default implementation throws aIllegalStateException
. Must be implemented by the subclass, if applicable.- Specified by:
getKeepTogetherProperty
in interfaceBlockLevelLayoutManager
- Overrides:
getKeepTogetherProperty
in classBlockStackingLayoutManager
- Returns:
- the keep-together property
-
getKeepWithPreviousProperty
public KeepProperty getKeepWithPreviousProperty()
Returns the keep-with-previous property specified on the FObj. Default implementation throws aIllegalStateException
. Must be implemented by the subclass, if applicable.- Specified by:
getKeepWithPreviousProperty
in interfaceBlockLevelLayoutManager
- Overrides:
getKeepWithPreviousProperty
in classBlockStackingLayoutManager
- Returns:
- the keep-together property
-
getKeepWithNextProperty
public KeepProperty getKeepWithNextProperty()
Returns the keep-with-next property specified on the FObj. Default implementation throws aIllegalStateException
. Must be implemented by the subclass, if applicable.- Specified by:
getKeepWithNextProperty
in interfaceBlockLevelLayoutManager
- Overrides:
getKeepWithNextProperty
in classBlockStackingLayoutManager
- Returns:
- the keep-together property
-
addAreas
public void addAreas(PositionIterator parentIter, LayoutContext layoutContext)
Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.- Specified by:
addAreas
in interfaceLayoutManager
- Overrides:
addAreas
in classAbstractLayoutManager
- Parameters:
parentIter
- the position iteratorlayoutContext
- the context
-
getParentArea
public Area getParentArea(Area childArea)
Return an Area which can contain the passed childArea. The childArea may not yet have any content, but it has essential traits set. In general, if the LayoutManager already has an Area it simply returns it. Otherwise, it makes a new Area of the appropriate class. It gets a parent area for its area by calling its parent LM. Finally, based on the dimensions of the parent area, it initializes its own area. This includes setting the content IPD and the maximum BPD.- Specified by:
getParentArea
in interfaceLayoutManager
- Overrides:
getParentArea
in classAbstractLayoutManager
- Parameters:
childArea
- area to get the parent area for- Returns:
- the parent area
-
addChildArea
public void addChildArea(Area childArea)
Add the childArea to the current area. Called by child LayoutManager when it has filled one of its areas. The LM should already have an Area in which to put the child. See if the area will fit in the current area. If so, add it. Otherwise initiate breaking.- Specified by:
addChildArea
in interfaceLayoutManager
- Overrides:
addChildArea
in classBlockStackingLayoutManager
- Parameters:
childArea
- the area to add: will be some block-stacked Area.
-
flush
protected void flush()
Force current area to be added to parent area. Force current area to be added to parent area.- Overrides:
flush
in classBlockStackingLayoutManager
-
getBlockFO
protected Block getBlockFO()
convenience method that returns the Block node- Returns:
- the block node
-
getContentAreaIPD
public int getContentAreaIPD()
Returns the IPD of the content area- Specified by:
getContentAreaIPD
in interfaceLayoutManager
- Overrides:
getContentAreaIPD
in classBlockStackingLayoutManager
- Returns:
- the IPD of the content area
-
getContentAreaBPD
public int getContentAreaBPD()
Returns the BPD of the content area- Specified by:
getContentAreaBPD
in interfaceLayoutManager
- Overrides:
getContentAreaBPD
in classBlockStackingLayoutManager
- Returns:
- the BPD of the content area
-
getGeneratesBlockArea
public boolean getGeneratesBlockArea()
Returns an indication if the layout manager generates a block area.- Specified by:
getGeneratesBlockArea
in interfaceLayoutManager
- Overrides:
getGeneratesBlockArea
in classAbstractBaseLayoutManager
- Returns:
- True if the layout manager generates a block area
-
isRestartable
public boolean isRestartable()
Returnstrue
if this layout manager is able to re-generate its Knuth elements after an IPD change.- Specified by:
isRestartable
in interfaceLayoutManager
- Overrides:
isRestartable
in classAbstractBaseLayoutManager
- Returns:
true
if this layout manager can be restarted after an IPD change
-
-