Package org.openpdf.layout
Class BlockBoxing
java.lang.Object
org.openpdf.layout.BlockBoxing
Utility class for laying block content. It is called when a block box
contains block level content.
BoxBuilder will have made sure that
the block we're working on will either contain only inline or block content.
If we're in a paged media environment, the various page break related
properties are also handled here. If a rule is violated, the affected run
of boxes will be laid out again. If the rule still cannot be satisfied,
the rule will be dropped.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate static class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static LineBoxgetFirstLine(Box box) private static booleanisPageBreakBetweenChildBoxes(int runStart, int runEnd, LayoutContext c, BlockBox block) private static voidlayoutBlockChild(LayoutContext c, BlockBox parent, BlockBox child, boolean needPageClear, int childOffset, int trimmedPageCount, LayoutState layoutState) private static voidlayoutBlockChild0(LayoutContext c, BlockBox parent, BlockBox child, boolean needPageClear, int childOffset, int trimmedPageCount) static voidlayoutContent(LayoutContext c, BlockBox block, int contentStart) private static BlockBoxing.RelayoutRunResultprocessPageBreakAvoidRun(LayoutContext c, BlockBox block, List<Box> localChildren, int offset, BlockBoxing.RelayoutDataList relayoutDataList, BlockBoxing.RelayoutData relayoutData) private static intrelayoutRun(LayoutContext c, List<Box> localChildren, BlockBox block, BlockBoxing.RelayoutDataList relayoutDataList, int start, int end, boolean onNewPage) private static voidrepositionBox(LayoutContext c, BlockBox child, int trimmedPageCount)
-
Field Details
-
NO_PAGE_TRIM
private static final int NO_PAGE_TRIM- See Also:
-
-
Constructor Details
-
BlockBoxing
private BlockBoxing()
-
-
Method Details
-
layoutContent
-
processPageBreakAvoidRun
private static BlockBoxing.RelayoutRunResult processPageBreakAvoidRun(LayoutContext c, BlockBox block, List<Box> localChildren, int offset, BlockBoxing.RelayoutDataList relayoutDataList, BlockBoxing.RelayoutData relayoutData) -
isPageBreakBetweenChildBoxes
private static boolean isPageBreakBetweenChildBoxes(int runStart, int runEnd, LayoutContext c, BlockBox block) -
getFirstLine
-
relayoutRun
private static int relayoutRun(LayoutContext c, List<Box> localChildren, BlockBox block, BlockBoxing.RelayoutDataList relayoutDataList, int start, int end, boolean onNewPage) -
layoutBlockChild
private static void layoutBlockChild(LayoutContext c, BlockBox parent, BlockBox child, boolean needPageClear, int childOffset, int trimmedPageCount, LayoutState layoutState) -
layoutBlockChild0
private static void layoutBlockChild0(LayoutContext c, BlockBox parent, BlockBox child, boolean needPageClear, int childOffset, int trimmedPageCount) -
repositionBox
-