Package org.jfree.layouting.renderer.model

## Class BlockRenderBox

- java.lang.Object
- - org.jfree.layouting.renderer.model.RenderNode
  - - org.jfree.layouting.renderer.model.RenderBox
    - - org.jfree.layouting.renderer.model.BlockRenderBox

- Direct Known Subclasses:
    `LogicalPageBox`, `MarkerRenderBox`, `NormalFlowRenderBox`, `PageAreaRenderBox`, `ParagraphRenderBox`, `TableCellRenderBox`, `TableRenderBox`, `TableRowRenderBox`, `TableSectionRenderBox`

      public class BlockRenderBox
      extends RenderBox

  A block box behaves according to the 'display:block' layouting rules. In the simplest case, all childs will consume the complete width and get stacked below each other.

  Live would be boring if everything was simple: Floats and absolutly positioned elements enrich and complicate the layout schema. Absolute elements do not affect the normal flow, but inject an invisible placeholder to keep track of their assumed normal-flow position.

  (Using Mozilla's behaviour as reference, I assume that absolutly positioned elements are controled from outside the normal-flow (ie. parallel to the normal flow, but positioned relative to their computed placeholder position inside the normal flow. Weird? yes!)

  Float-elements are positioned inside the block context and reduce the size of the linebox. Float-elements are positioned once when they are defined and will not alter any previously defined content.

  As floats from previous boxes may overlap with later boxes, all floats must be placed on a global storage. The only difference between absolutely positioned and floating elements is *where* they can be placed, and whether they influence the content under them. (Floats do, abs-pos dont).
  Author:
    Thomas Morgner

- - ### Field Summary

    - ### Fields inherited from class org.jfree.layouting.renderer.model.RenderBox

      `LOG_PRUNE`

    - ### Fields inherited from class org.jfree.layouting.renderer.model.RenderNode

      `HORIZONTAL_AXIS, VERTICAL_AXIS`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BlockRenderBox​(BoxDefinition boxDefinition)` |

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from class org.jfree.layouting.renderer.model.RenderBox

      `addChild, addChilds, addGeneratedChild, appyStyle, clear, clone, close, derive, deriveFrozen, findNodeById, freeze, getBaselineInfo, getBorder, getBoxDefinition, getBoxLayoutProperties, getContentAreaX1, getContentAreaX2, getDominantBaseline, getEffectiveMarginBottom, getEffectiveMarginTop, getFirstChild, getInsertationPoint, getLastChild, getLineCount, getNominalBaselineInfo, getOrphans, getOrphansSize, getPageContext, getStaticBoxLayoutProperties, getVisibleFirst, getVisibleLast, getWidows, getWidowsSize, hibernate, insertAfter, insertBefore, isAppendable, isAvoidPagebreakInside, isDiscardable, isEmpty, isOpen, isPreserveSpace, remove, replaceChild, replaceChilds, setBaselineInfo, setContentAreaX1, setContentAreaX2, setFirstChild, setLastChild, setLineCount, setOrphansSize, setPageContext, setWidowsSize, split`

    - ### Methods inherited from class org.jfree.layouting.renderer.model.RenderNode

      `getAlignmentAdjust, getAlignmentAdjustResolved, getAlignmentBaseline, getBaselineShift, getBaselineShiftResolved, getChangeTracker, getComputedLayoutProperties, getDimension, getHeight, getInstanceId, getLayoutContext, getLogicalPage, getMajorAxis, getMaximumBoxWidth, getMinimumChunkWidth, getMinorAxis, getNamespace, getNext, getNodeLayoutProperties, getNormalFlow, getParent, getParentBlockContext, getPosition, getPrev, getStickyMarker, getTagName, getVerticalAlignment, getVisibleNext, getVisiblePrev, getWidth, getX, getY, isDirectionLTR, isDirty, isFrozen, isHibernated, isIcmMetricsFinished, isIgnorableForRendering, normalizeAlignment, setComputedLayoutProperties, setDimension, setDirty, setHeight, setHibernated, setIcmMetricsFinished, setMajorAxis, setMaximumBoxWidth, setMinimumChunkWidth, setMinorAxis, setNext, setParent, setPosition, setPrev, setStickyMarker, setWidth, setX, setY, updateChangeTracker`

- - ### Constructor Detail

    - #### BlockRenderBox

          public BlockRenderBox​(BoxDefinition boxDefinition)