Class BlockBox

java.lang.Object
com.openhtmltopdf.render.Box
com.openhtmltopdf.render.BlockBox
All Implemented Interfaces:
InlinePaintable, Styleable, DisplayListItem
Direct Known Subclasses:
AnonymousBlockBox, FlowingColumnBox, FlowingColumnContainerBox, MarginBox, TableBox, TableCellBox, TableRowBox, TableSectionBox, ViewportBox

public class BlockBox
extends Box
implements InlinePaintable
A block box as defined in the CSS spec. It also provides a base class for other kinds of block content (for example table rows or cells).
  • Field Details

  • Constructor Details

    • BlockBox

      public BlockBox()
  • Method Details

    • setElement

      public void setElement​(Element element)
      Specified by:
      setElement in interface Styleable
      Overrides:
      setElement in class Box
    • copyOf

      public BlockBox copyOf()
    • getExtraBoxDescription

      protected String getExtraBoxDescription()
    • toString

      public String toString()
      Overrides:
      toString in class Box
    • appendPositioningInfo

      protected void appendPositioningInfo​(StringBuilder result)
    • dump

      public String dump​(LayoutContext c, String indent, int which)
      Specified by:
      dump in class Box
    • isListItem

      public boolean isListItem()
    • paintListMarker

      public void paintListMarker​(RenderingContext c)
    • getPaintingClipEdge

      public Rectangle getPaintingClipEdge​(CssContext cssCtx)
      Overrides:
      getPaintingClipEdge in class Box
    • paintInline

      public void paintInline​(RenderingContext c)
      Specified by:
      paintInline in interface InlinePaintable
    • isInline

      public boolean isInline()
    • getLineBox

      public LineBox getLineBox()
    • paintDebugOutline

      public void paintDebugOutline​(RenderingContext c)
    • getMarkerData

      public MarkerData getMarkerData()
    • setMarkerData

      public void setMarkerData​(MarkerData markerData)
    • createMarkerData

      public void createMarkerData​(LayoutContext c)
    • getListCounter

      public int getListCounter()
    • setListCounter

      public void setListCounter​(int listCounter)
    • getPersistentBFC

      public PersistentBFC getPersistentBFC()
    • setPersistentBFC

      public void setPersistentBFC​(PersistentBFC persistentBFC)
    • getStaticEquivalent

      public Box getStaticEquivalent()
    • setStaticEquivalent

      public void setStaticEquivalent​(Box staticEquivalent)
    • shouldBeReplaced

      public boolean shouldBeReplaced()
    • isReplaced

      public boolean isReplaced()
    • calcCanvasLocation

      public void calcCanvasLocation()
      Specified by:
      calcCanvasLocation in class Box
    • calcInitialFloatedCanvasLocation

      public void calcInitialFloatedCanvasLocation​(LayoutContext c)
    • calcChildLocations

      public void calcChildLocations()
      Overrides:
      calcChildLocations in class Box
    • isNeedPageClear

      public boolean isNeedPageClear()
    • setNeedPageClear

      public void setNeedPageClear​(boolean needPageClear)
    • positionAbsolute

      public void positionAbsolute​(CssContext cssCtx, int direction)
    • isPageBreakNeededBecauseOfMinHeight

      public boolean isPageBreakNeededBecauseOfMinHeight​(LayoutContext context)
      Using the css: -fs-page-break-min-height: 5cm; on a block element you can force a pagebreak before this block, if not enough space (e.g. 5cm in this case) is remaining on the current page for the block.
      Returns:
      true if a pagebreak is needed before this block because there is not enough space left on the current page.
    • positionAbsoluteOnPage

      public void positionAbsoluteOnPage​(LayoutContext c)
    • getReplacedElement

      public ReplacedElement getReplacedElement()
    • setReplacedElement

      public void setReplacedElement​(ReplacedElement replacedElement)
    • reset

      public void reset​(LayoutContext c)
      Overrides:
      reset in class Box
    • resolveAutoMargins

      protected void resolveAutoMargins​(LayoutContext c, int cssWidth, RectPropertySet padding, BorderPropertySet border)
    • calcDimensions

      public void calcDimensions​(LayoutContext c)
    • calcDimensions

      protected void calcDimensions​(LayoutContext c, int cssWidth)
    • addBoxID

      protected void addBoxID​(LayoutContext c)
    • layout

      public void layout​(LayoutContext c)
    • layout

      public void layout​(LayoutContext c, int contentStart)
    • isAllowHeightToShrink

      protected boolean isAllowHeightToShrink()
    • getPageClearance

      protected int getPageClearance()
    • calcLayoutHeight

      protected void calcLayoutHeight​(LayoutContext c, BorderPropertySet border, RectPropertySet margin, RectPropertySet padding)
      Oh oh! Up to this method height is used to track content height. After this method it is used to track total layout height!
    • ensureChildren

      public void ensureChildren​(LayoutContext c)
    • layoutChildren

      protected void layoutChildren​(LayoutContext c, int contentStart)
    • layoutInlineChildren

      protected void layoutInlineChildren​(LayoutContext c, int contentStart, int breakAtLine, boolean tryAgain)
    • getChildrenContentType

      public int getChildrenContentType()
    • setChildrenContentType

      public void setChildrenContentType​(int contentType)
    • getInlineContent

      public List<Styleable> getInlineContent()
    • setInlineContent

      public void setInlineContent​(List<Styleable> inlineContent)
    • isSkipWhenCollapsingMargins

      protected boolean isSkipWhenCollapsingMargins()
    • isMayCollapseMarginsWithChildren

      protected boolean isMayCollapseMarginsWithChildren()
    • collapseMargins

      protected void collapseMargins​(LayoutContext c)
    • getNextCollapsableSibling

      protected BlockBox getNextCollapsableSibling​(BlockBox.MarginCollapseResult collapsedMargin)
    • isTopMarginCalculated

      public boolean isTopMarginCalculated()
    • setTopMarginCalculated

      public void setTopMarginCalculated​(boolean topMarginCalculated)
    • isBottomMarginCalculated

      public boolean isBottomMarginCalculated()
    • setBottomMarginCalculated

      public void setBottomMarginCalculated​(boolean bottomMarginCalculated)
    • getCSSWidth

      protected int getCSSWidth​(CssContext c)
    • getCSSWidth

      protected int getCSSWidth​(CssContext c, boolean shrinkingToFit)
    • getCSSFitToWidth

      protected int getCSSFitToWidth​(CssContext c)
    • getCSSHeight

      protected int getCSSHeight​(CssContext c)
    • isAutoHeight

      public boolean isAutoHeight()
    • getAvailableWidth

      protected int getAvailableWidth​(LayoutContext c)
    • isFixedWidthAdvisoryOnly

      protected boolean isFixedWidthAdvisoryOnly()
    • calcMinMaxWidth

      public void calcMinMaxWidth​(LayoutContext c)
    • getMaxWidth

      public int getMaxWidth()
    • setMaxWidth

      protected void setMaxWidth​(int maxWidth)
    • getMinWidth

      public int getMinWidth()
    • setMinWidth

      protected void setMinWidth​(int minWidth)
    • styleText

      public void styleText​(LayoutContext c)
    • styleText

      public void styleText​(LayoutContext c, CalculatedStyle style)
    • calcChildPaintingInfo

      protected void calcChildPaintingInfo​(CssContext c, PaintingInfo result, boolean useCache)
      Overrides:
      calcChildPaintingInfo in class Box
    • getFirstLetterStyle

      public CascadedStyle getFirstLetterStyle()
    • setFirstLetterStyle

      public void setFirstLetterStyle​(CascadedStyle firstLetterStyle)
    • getFirstLineStyle

      public CascadedStyle getFirstLineStyle()
    • setFirstLineStyle

      public void setFirstLineStyle​(CascadedStyle firstLineStyle)
    • isMinMaxCalculated

      protected boolean isMinMaxCalculated()
    • setMinMaxCalculated

      protected void setMinMaxCalculated​(boolean minMaxCalculated)
    • setDimensionsCalculated

      protected void setDimensionsCalculated​(boolean dimensionsCalculated)
    • setNeedShrinkToFitCalculatation

      protected void setNeedShrinkToFitCalculatation​(boolean needShrinkToFitCalculatation)
    • initStaticPos

      public void initStaticPos​(LayoutContext c, BlockBox parent, int childOffset)
    • calcBaseline

      public int calcBaseline​(LayoutContext c)
    • calcInitialBreakAtLine

      protected int calcInitialBreakAtLine​(LayoutContext c)
    • isCurrentBreakAtLineContext

      public boolean isCurrentBreakAtLineContext​(LayoutContext c)
    • calcBreakAtLineContext

      public BreakAtLineContext calcBreakAtLineContext​(LayoutContext c)
    • calcInlineBaseline

      public int calcInlineBaseline​(CssContext c)
    • findOffset

      public int findOffset​(Box box)
    • findLastNthLineBox

      public LineBox findLastNthLineBox​(int count)
    • isNeedsKeepWithInline

      public boolean isNeedsKeepWithInline​(LayoutContext c)
    • isFloated

      public boolean isFloated()
    • getFloatedBoxData

      public FloatedBoxData getFloatedBoxData()
    • setFloatedBoxData

      public void setFloatedBoxData​(FloatedBoxData floatedBoxData)
    • getChildrenHeight

      public int getChildrenHeight()
    • setChildrenHeight

      protected void setChildrenHeight​(int childrenHeight)
    • isFromCaptionedTable

      public boolean isFromCaptionedTable()
    • setFromCaptionedTable

      public void setFromCaptionedTable​(boolean fromTable)
    • isInlineBlock

      protected boolean isInlineBlock()
      Overrides:
      isInlineBlock in class Box
    • isInMainFlow

      public boolean isInMainFlow()
    • getDocumentParent

      public Box getDocumentParent()
      Overrides:
      getDocumentParent in class Box
    • isContainsInlineContent

      public boolean isContainsInlineContent​(LayoutContext c)
    • checkPageContext

      public boolean checkPageContext​(LayoutContext c)
    • isNeedsClipOnPaint

      public boolean isNeedsClipOnPaint​(CssContext c)
    • propagateExtraSpace

      protected void propagateExtraSpace​(LayoutContext c, ContentLimitContainer parentContainer, ContentLimitContainer currentContainer, int extraTop, int extraBottom)