private boolean intersectsInlineBlocks(CssContext cssCtx, Shape clip) { for (int i = 0; i < getChildCount(); i++) { Box child = (Box)getChild(i); if (child instanceof InlineLayoutBox) { boolean possibleResult = ((InlineLayoutBox)child).intersectsInlineBlocks( cssCtx, clip); if (possibleResult) { return true; } } else { BoxCollector collector = new BoxCollector(); if (collector.intersectsAny(cssCtx, clip, child)) { return true; } } } return false; }
public void collect( CssContext c, Shape clip, Layer layer, List blockContent, List inlineContent, BoxRangeLists rangeLists) { if (layer.isInline()) { collectInlineLayer(c, clip, layer, blockContent, inlineContent, rangeLists); } else { collect(c, clip, layer, layer.getMaster(), blockContent, inlineContent, rangeLists); } }
if (intersectsAggregateBounds(clip, container) || (container.getPaintingInfo() == null && container.intersects(c, clip))) { inlineContent.add(container); boolean intersectsAggregateBounds = intersectsAggregateBounds(clip, container); if (container.getLayer() == null || !(container instanceof BlockBox)) { if (intersectsAggregateBounds || for (int i = 0; i < container.getChildCount(); i++) { Box child = container.getChild(i); collect(c, clip, layer, child, blockContent, inlineContent, rangeLists); saveRangeData( c, container, blockContent, inlineContent, rangeLists, isBlock, blockStart, inlineStart,
BoxRangeLists rangeLists = new BoxRangeLists(); List blocks = new ArrayList(); List lines = new ArrayList(); BoxCollector collector = new BoxCollector(); collector.collect(c, c.getOutputDevice().getClip(), this, startingPoint, blocks, lines, rangeLists); Map collapsedTableBorders = collectCollapsedTableBorders(c, blocks); paintBackgroundsAndBorders(c, blocks, collapsedTableBorders, rangeLists); paintListMarkers(c, blocks, rangeLists); paintInlineContent(c, lines, rangeLists); paintSelection(c, lines); // XXX only do when there is a selection paintReplacedElements(c, blocks, rangeLists); } private void paintListMarkers(RenderingContext c, List blocks, BoxRangeLists rangeLists) {
private void collectInlineLayer( CssContext c, Shape clip, Layer layer, List blockContent, List inlineContent, BoxRangeLists rangeLists) { InlineLayoutBox iB = (InlineLayoutBox)layer.getMaster(); List content = iB.getElementWithContent(); for (int i = 0; i < content.size(); i++) { Box b = (Box)content.get(i); if (b.intersects(c, clip)) { if (b instanceof InlineLayoutBox) { inlineContent.add(b); } else { BlockBox bb = (BlockBox)b; if (bb.isInline()) { if (intersectsAny(c, clip, b)) { inlineContent.add(b); } } else { collect(c, clip, layer, bb, blockContent, inlineContent, rangeLists); } } } } }
public boolean intersectsAny( CssContext c, Shape clip, Box master) { return intersectsAny(c, clip, master, master); }
if (intersectsAggregateBounds(clip, container) || (container.getPaintingInfo() == null && container.intersects(c, clip))) { inlineContent.add(container); boolean intersectsAggregateBounds = intersectsAggregateBounds(clip, container); if (container.getLayer() == null || !(container instanceof BlockBox)) { if (intersectsAggregateBounds || for (int i = 0; i < container.getChildCount(); i++) { Box child = container.getChild(i); collect(c, clip, layer, child, blockContent, inlineContent, rangeLists); saveRangeData( c, container, blockContent, inlineContent, rangeLists, isBlock, blockStart, inlineStart,
public void paintAsLayer(RenderingContext c, BlockBox startingPoint) { BoxRangeLists rangeLists = new BoxRangeLists(); List blocks = new ArrayList(); List lines = new ArrayList(); BoxCollector collector = new BoxCollector(); collector.collect(c, c.getOutputDevice().getClip(), this, startingPoint, blocks, lines, rangeLists); Map collapsedTableBorders = collectCollapsedTableBorders(c, blocks); paintBackgroundsAndBorders(c, blocks, collapsedTableBorders, rangeLists); paintListMarkers(c, blocks, rangeLists); paintInlineContent(c, lines, rangeLists); paintSelection(c, lines); // XXX only do when there is a selection paintReplacedElements(c, blocks, rangeLists); }
private void collectInlineLayer( CssContext c, Shape clip, Layer layer, List blockContent, List inlineContent, BoxRangeLists rangeLists) { InlineLayoutBox iB = (InlineLayoutBox)layer.getMaster(); List content = iB.getElementWithContent(); for (int i = 0; i < content.size(); i++) { Box b = (Box)content.get(i); if (b.intersects(c, clip)) { if (b instanceof InlineLayoutBox) { inlineContent.add(b); } else { BlockBox bb = (BlockBox)b; if (bb.isInline()) { if (intersectsAny(c, clip, b)) { inlineContent.add(b); } } else { collect(c, clip, layer, bb, blockContent, inlineContent, rangeLists); } } } } }
public boolean intersectsAny( CssContext c, Shape clip, Box master) { return intersectsAny(c, clip, master, master); }
List lines = new ArrayList(); BoxCollector collector = new BoxCollector(); collector.collect(c, c.getOutputDevice().getClip(), this, blocks, lines, rangeLists);
private boolean intersectsInlineBlocks(CssContext cssCtx, Shape clip) { for (int i = 0; i < getChildCount(); i++) { Box child = (Box)getChild(i); if (child instanceof InlineLayoutBox) { boolean possibleResult = ((InlineLayoutBox)child).intersectsInlineBlocks( cssCtx, clip); if (possibleResult) { return true; } } else { BoxCollector collector = new BoxCollector(); if (collector.intersectsAny(cssCtx, clip, child)) { return true; } } } return false; }
public void collect( CssContext c, Shape clip, Layer layer, List blockContent, List inlineContent, BoxRangeLists rangeLists) { if (layer.isInline()) { collectInlineLayer(c, clip, layer, blockContent, inlineContent, rangeLists); } else { collect(c, clip, layer, layer.getMaster(), blockContent, inlineContent, rangeLists); } }
private boolean intersectsAny( CssContext c, Shape clip, Box master, Box container) { if (container instanceof LineBox) { if (container.intersects(c, clip)) { return true; } } else { if (container.getLayer() == null || !(container instanceof BlockBox)) { if (container.intersects(c, clip)) { return true; } } if (container.getLayer() == null || container == master) { for (int i = 0; i < container.getChildCount(); i++) { Box child = container.getChild(i); boolean possibleResult = intersectsAny(c, clip, master, child); if (possibleResult) { return true; } } } } return false; } }
List lines = new ArrayList(); BoxCollector collector = new BoxCollector(); collector.collect(c, c.getOutputDevice().getClip(), this, blocks, lines, rangeLists);
public boolean intersectsInlineBlocks(CssContext cssCtx, Shape clip) { for (int i = 0; i < getInlineChildCount(); i++) { Object obj = getInlineChild(i); if (obj instanceof InlineLayoutBox) { boolean possibleResult = ((InlineLayoutBox)obj).intersectsInlineBlocks(cssCtx, clip); if (possibleResult) { return true; } } else if (obj instanceof Box) { BoxCollector collector = new BoxCollector(); if (collector.intersectsAny(cssCtx, clip, (Box)obj)) { return true; } } } return false; }
private boolean intersectsAny( CssContext c, Shape clip, Box master, Box container) { if (container instanceof LineBox) { if (container.intersects(c, clip)) { return true; } } else { if (container.getLayer() == null || !(container instanceof BlockBox)) { if (container.intersects(c, clip)) { return true; } } if (container.getLayer() == null || container == master) { for (int i = 0; i < container.getChildCount(); i++) { Box child = container.getChild(i); boolean possibleResult = intersectsAny(c, clip, master, child); if (possibleResult) { return true; } } } } return false; } }
public boolean intersectsInlineBlocks(CssContext cssCtx, Shape clip) { for (int i = 0; i < getInlineChildCount(); i++) { Object obj = getInlineChild(i); if (obj instanceof InlineLayoutBox) { boolean possibleResult = ((InlineLayoutBox)obj).intersectsInlineBlocks(cssCtx, clip); if (possibleResult) { return true; } } else if (obj instanceof Box) { BoxCollector collector = new BoxCollector(); if (collector.intersectsAny(cssCtx, clip, (Box)obj)) { return true; } } } return false; }