org.apache.fop.layoutmgr.table

## Class TableCellLayoutManager

- java.lang.Object
- - org.apache.fop.layoutmgr.AbstractBaseLayoutManager
  - - org.apache.fop.layoutmgr.AbstractLayoutManager
    - - org.apache.fop.layoutmgr.BlockStackingLayoutManager
      - - org.apache.fop.layoutmgr.table.TableCellLayoutManager

- All Implemented Interfaces:
    PercentBaseContext, Constants, BlockLevelLayoutManager, LayoutManager

      public class TableCellLayoutManager
      extends BlockStackingLayoutManager

  LayoutManager for a table-cell FO. A cell contains blocks. These blocks fill the cell.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager

      `BlockStackingLayoutManager.MappingPosition`

  - ### Field Summary

    - ### 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 and Description
    `TableCellLayoutManager(TableCell node, PrimaryGridUnit pgu)` Create a new Cell layout manager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAreas(PositionIterator parentIter, LayoutContext layoutContext, int[] spannedGridRowHeights, int startRow, int endRow, int borderBeforeWhich, int borderAfterWhich, boolean firstOnPage, boolean lastOnPage, org.apache.fop.layoutmgr.table.RowPainter painter, int firstRowHeight)` Add the areas for the break points.
    `void` | `addChildArea(Area childArea)` Add the child to the cell block area.
    `void` | `discardSpace(KnuthGlue spaceGlue)` Discard space.
    `int` | `getContentAreaBPD()` Returns the BPD of the content area
    `int` | `getContentAreaIPD()` Returns the IPD of the content area
    `boolean` | `getGeneratesBlockArea()` Returns an indication if the layout manager generates a block area.
    `boolean` | `getGeneratesReferenceArea()` Returns an indication if the layout manager generates a reference area.
    `protected int` | `getIPIndents()`
    `Keep` | `getKeepTogether()` Returns the keep-together strength for this element.
    `Keep` | `getKeepWithNext()` Returns the keep-with-next strength for this element.
    `Keep` | `getKeepWithPrevious()` Returns the keep-with-previous strength for this element.
    `List<ListElement>` | `getNextKnuthElements(LayoutContext context, int alignment)` Get a sequence of KnuthElements representing the content of the node assigned to the LM.
    `Area` | `getParentArea(Area childArea)` Return an Area which can contain the passed childArea.
    `Table` | `getTable()`
    `TableCell` | `getTableCell()`
    `int` | `negotiateBPDAdjustment(int adj, KnuthElement lastElement)` Negotiate BPD adjustment.
    `protected void` | `registerMarkers(boolean isStarting, boolean isFirst, boolean isLast)` Registers the FO's markers on the current PageViewport and parent Table.
    `protected void` | `repeatAddAreas()` Calls the addAreas() using the original arguments.
    `void` | `setContentHeight(int h)` Set the content height for this cell.
    `void` | `setHasRepeatedHeader(boolean hasRepeatedHeader)`
    `void` | `setParent(LayoutManager lm)` Set the parent layout manager.
    `void` | `setTotalHeight(int h)` Sets the total height of this cell on the current page.
    `void` | `setXOffset(int off)` Set the x offset of this cell (usually the same as its parent row).
    `void` | `setYOffset(int off)` Set the y offset of this cell.

    - ### Methods inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager

      `addBlockSpacing, addChildToArea, addFirstVisibleMarks, addInBetweenBreak, addKnuthElementsForBorderPaddingAfter, addKnuthElementsForBorderPaddingBefore, addKnuthElementsForBreakAfter, addKnuthElementsForBreakBefore, addKnuthElementsForSpaceAfter, addKnuthElementsForSpaceBefore, addLastVisibleMarks, addPendingMarks, breakBeforeServed, flush, getAuxiliaryPosition, getBreakBefore, getChangedKnuthElements, getCurrentArea, getKeepTogetherProperty, getKeepWithNextProperty, getKeepWithPreviousProperty, getNextChildElements, getNextKnuthElements, getParentKeepTogether, getSpaceAfterProperty, getSpaceBeforeProperty, handleOverflow, isRestartAtLM, makeChildLayoutContext, mustKeepTogether, mustKeepWithNext, mustKeepWithPrevious, neededUnits, reset, setContentAreaIPD, setCurrentArea, updateContentAreaIPDwithOverconstrainedAdjust, updateContentAreaIPDwithOverconstrainedAdjust, wrapPositionElement, wrapPositionElements, wrapPositionElements`

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

      `addAreas, addChildLM, addChildLMs, addId, checkEndOfLayout, createChildLMs, createNextChildLMs, getBaselineOffset, getChildLM, getChildLMs, getCurrentPage, getCurrentPV, getParent, getPSLM, handlingFloat, hasLineAreaDescendant, hasNextChildLM, initialize, isFinished, isFirst, isLast, newNoLineAreaDescendantException, notifyEndOfLayout, notifyPos, possiblyRegisterMarkersForTables, preserveChildrenAtEndOfLayout, recreateChildrenLMs, setCurrentChildLM, setFinished, toString, transferExtensionAttachments, transferExtensions, transferForeignAttributes`

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

      `getAncestorBlockAreaBPD, getAncestorBlockAreaIPD, getBaseLength, getChangeBarList, getFObj, getGeneratesLineArea, getParentAreaBPD, getParentAreaIPD, getReferenceAreaBPD, getReferenceAreaIPD, isFromFootnote, isRestartable, setFromFootnote, 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.LayoutManager

      `addAreas, addChildLM, addChildLMs, createNextChildLMs, getBaselineOffset, getChildLMs, getFObj, getGeneratesLineArea, getParent, getPSLM, hasLineAreaDescendant, initialize, isFinished, isFromFootnote, isRestartable, notifyPos, setFinished, setFromFootnote`

    - ### Methods inherited from interface org.apache.fop.datatypes.PercentBaseContext

      `getBaseLength`

- - ### Constructor Detail

    - #### TableCellLayoutManager

          public TableCellLayoutManager(TableCell node,
                                        PrimaryGridUnit pgu)

      Create a new Cell layout manager.
      Parameters:
        `node` - table-cell FO for which to create the LM
        `pgu` - primary grid unit for the cell

  - ### Method Detail

    - #### getTableCell

          public TableCell getTableCell()

      Returns:
        the table-cell FO

    - #### getTable

          public Table getTable()

      Returns:
        the table owning this cell

    - #### setHasRepeatedHeader

          public void setHasRepeatedHeader(boolean hasRepeatedHeader)

    - #### getIPIndents

          protected int getIPIndents()

      Overrides:
        `getIPIndents` in class `BlockStackingLayoutManager`
      Returns:
        the sum of start-indent and end-indent

    - #### getNextKnuthElements

          public List<ListElement> getNextKnuthElements(LayoutContext context,
                                                        int alignment)

      Get a sequence of KnuthElements representing the content of the node assigned to the LM.
      Specified by:
        `getNextKnuthElements` in interface `LayoutManager`
      Overrides:
        `getNextKnuthElements` in class `BlockStackingLayoutManager`
      Parameters:
        `context` - the LayoutContext used to store layout information
        `alignment` - the desired text alignment
      Returns:
        the list of KnuthElements

    - #### setYOffset

          public void setYOffset(int off)

      Set the y offset of this cell. This offset is used to set the absolute position of the cell.
      Parameters:
        `off` - the y direction offset

    - #### setXOffset

          public void setXOffset(int off)

      Set the x offset of this cell (usually the same as its parent row). This offset is used to determine the absolute position of the cell.
      Parameters:
        `off` - the x offset

    - #### setContentHeight

          public void setContentHeight(int h)

      Set the content height for this cell. This method is used during addAreas() stage.
      Parameters:
        `h` - the height of the contents of this cell

    - #### setTotalHeight

          public void setTotalHeight(int h)

      Sets the total height of this cell on the current page. That is, the cell's bpd plus before and after borders and paddings, plus the table's border-separation.
      Parameters:
        `h` - the height of cell

    - #### repeatAddAreas

          protected void repeatAddAreas()

      Calls the addAreas() using the original arguments.

    - #### addAreas

          public void addAreas(PositionIterator parentIter,
                               LayoutContext layoutContext,
                               int[] spannedGridRowHeights,
                               int startRow,
                               int endRow,
                               int borderBeforeWhich,
                               int borderAfterWhich,
                               boolean firstOnPage,
                               boolean lastOnPage,
                               org.apache.fop.layoutmgr.table.RowPainter painter,
                               int firstRowHeight)

      Add the areas for the break points. The cell contains block stacking layout managers that add block areas.

      In the collapsing-border model, the borders of a cell that spans over several rows or columns are drawn separately for each grid unit. Therefore we must know the height of each grid row spanned over by the cell. Also, if the cell is broken over two pages we must know which spanned grid rows are present on the current page.

      Parameters:
        `parentIter` - the iterator of the break positions
        `layoutContext` - the layout context for adding the areas
        `spannedGridRowHeights` - in collapsing-border model for a spanning cell, height of each spanned grid row
        `startRow` - first grid row on the current page spanned over by the cell, inclusive
        `endRow` - last grid row on the current page spanned over by the cell, inclusive
        `borderBeforeWhich` - one of `ConditionalBorder.NORMAL`, `ConditionalBorder.LEADING_TRAILING` or `ConditionalBorder.REST`
        `borderAfterWhich` - one of `ConditionalBorder.NORMAL`, `ConditionalBorder.LEADING_TRAILING` or `ConditionalBorder.REST`
        `firstOnPage` - true if the cell will be the very first one on the page, in which case collapsed before borders must be drawn in the outer mode
        `lastOnPage` - true if the cell will be the very last one on the page, in which case collapsed after borders must be drawn in the outer mode
        `painter` - painter
        `firstRowHeight` - height of the first row spanned by this cell (may be zero if this row is placed on a previous page). Used to calculate the placement of the row's background image if any

    - #### 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 interface `LayoutManager`
      Overrides:
        `getParentArea` in class `AbstractLayoutManager`
      Parameters:
        `childArea` - the child area to get the parent for
      Returns:
        the parent area

    - #### addChildArea

          public void addChildArea(Area childArea)

      Add the child to the cell block area.
      Specified by:
        `addChildArea` in interface `LayoutManager`
      Overrides:
        `addChildArea` in class `BlockStackingLayoutManager`
      Parameters:
        `childArea` - the child to add to the cell

    - #### negotiateBPDAdjustment

          public int negotiateBPDAdjustment(int adj,
                                            KnuthElement lastElement)

      Negotiate BPD adjustment.
      Specified by:
        `negotiateBPDAdjustment` in interface `BlockLevelLayoutManager`
      Overrides:
        `negotiateBPDAdjustment` in class `BlockStackingLayoutManager`
      Parameters:
        `adj` - amount to adjust
        `lastElement` - the last knuth element
      Returns:
        the resulting adjusted BPD

    - #### discardSpace

          public void discardSpace(KnuthGlue spaceGlue)

      Discard space.
      Specified by:
        `discardSpace` in interface `BlockLevelLayoutManager`
      Overrides:
        `discardSpace` in class `BlockStackingLayoutManager`
      Parameters:
        `spaceGlue` - the space

    - #### getKeepTogether

          public Keep getKeepTogether()

      Returns the keep-together strength for this element.
      Specified by:
        `getKeepTogether` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepTogether` in class `BlockStackingLayoutManager`
      Returns:
        the keep-together strength

    - #### getKeepWithNext

          public Keep getKeepWithNext()

      Returns the keep-with-next strength for this element.
      Specified by:
        `getKeepWithNext` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepWithNext` in class `BlockStackingLayoutManager`
      Returns:
        the keep-with-next strength

    - #### getKeepWithPrevious

          public Keep getKeepWithPrevious()

      Returns the keep-with-previous strength for this element.
      Specified by:
        `getKeepWithPrevious` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepWithPrevious` in class `BlockStackingLayoutManager`
      Returns:
        the keep-with-previous strength

    - #### getContentAreaIPD

          public int getContentAreaIPD()

      Returns the IPD of the content area
      Specified by:
        `getContentAreaIPD` in interface `LayoutManager`
      Overrides:
        `getContentAreaIPD` in class `BlockStackingLayoutManager`
      Returns:
        the IPD of the content area

    - #### getContentAreaBPD

          public int getContentAreaBPD()

      Returns the BPD of the content area
      Specified by:
        `getContentAreaBPD` in interface `LayoutManager`
      Overrides:
        `getContentAreaBPD` in class `BlockStackingLayoutManager`
      Returns:
        the BPD of the content area

    - #### getGeneratesReferenceArea

          public boolean getGeneratesReferenceArea()

      Returns an indication if the layout manager generates a reference area.
      Specified by:
        `getGeneratesReferenceArea` in interface `LayoutManager`
      Overrides:
        `getGeneratesReferenceArea` in class `AbstractBaseLayoutManager`
      Returns:
        True if the layout manager generates a reference area

    - #### getGeneratesBlockArea

          public boolean getGeneratesBlockArea()

      Returns an indication if the layout manager generates a block area.
      Specified by:
        `getGeneratesBlockArea` in interface `LayoutManager`
      Overrides:
        `getGeneratesBlockArea` in class `AbstractBaseLayoutManager`
      Returns:
        True if the layout manager generates a block area

    - #### registerMarkers

          protected void registerMarkers(boolean isStarting,
                                         boolean isFirst,
                                         boolean isLast)

      Registers the FO's markers on the current PageViewport and parent Table.
      Overrides:
        `registerMarkers` in class `AbstractLayoutManager`
      Parameters:
        `isStarting` - boolean indicating whether the markers qualify as 'starting'
        `isFirst` - boolean indicating whether the markers qualify as 'first'
        `isLast` - boolean indicating whether the markers qualify as 'last'

    - #### setParent

          public void setParent(LayoutManager lm)

      Set the parent layout manager. The parent layout manager is required for adding areas.
      Specified by:
        `setParent` in interface `LayoutManager`
      Overrides:
        `setParent` in class `AbstractLayoutManager`
      Parameters:
        `lm` - the parent layout manager

Copyright © 2025 Apache Software Foundation. All rights reserved.