Package com.openhtmltopdf.layout
Class BoxCollector
java.lang.Object
com.openhtmltopdf.layout.BoxCollector
A class to collect boxes which intersect a given clip region. If available,
aggregate bounds information will be used. Block and inline content are
added to separate lists as they are painted in separate render phases.
This class flattens the nested structure of boxes in a depth first fashion.
Range lists are created for
overflow:hidden boxes to specify the first block
where a clip comes into affect and the end block where the clip is undone.
For example, if a hidden box is first in a layer and contains 10 child boxes
the range list will contain an entry for 0, 11, specifying the start and end of the clip.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcollect(CssContext c, Shape clip, Layer layer, Box container, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) voidcollect(CssContext c, Shape clip, Layer layer, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) private voidcollectInlineLayer(CssContext c, Shape clip, Layer layer, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) private booleanintersectsAggregateBounds(Shape clip, Box box) booleanintersectsAny(CssContext c, Shape clip, Box master) private booleanintersectsAny(CssContext c, Shape clip, Box master, Box container) private voidsaveRangeData(CssContext c, Box container, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists, boolean isBlock, int blockStart, int inlineStart, int blockRangeStart, int inlineRangeStart)
-
Constructor Details
-
BoxCollector
public BoxCollector()
-
-
Method Details
-
collect
public void collect(CssContext c, Shape clip, Layer layer, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) -
intersectsAny
-
collectInlineLayer
private void collectInlineLayer(CssContext c, Shape clip, Layer layer, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) -
intersectsAggregateBounds
-
collect
public void collect(CssContext c, Shape clip, Layer layer, Box container, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists) -
saveRangeData
private void saveRangeData(CssContext c, Box container, List<Box> blockContent, List<Box> inlineContent, BoxRangeLists rangeLists, boolean isBlock, int blockStart, int inlineStart, int blockRangeStart, int inlineRangeStart) -
intersectsAny
-