public void markRun(int offset, BlockBox previous, BlockBox current) { RelayoutData previousData = get(offset - 1); RelayoutData currentData = get(offset); IdentValue previousAfter = previous.getStyle().getIdent(CSSName.PAGE_BREAK_AFTER); IdentValue currentBefore = current.getStyle().getIdent(CSSName.PAGE_BREAK_BEFORE); if ((previousAfter == IdentValue.AVOID && currentBefore == IdentValue.AUTO) || (previousAfter == IdentValue.AUTO && currentBefore == IdentValue.AVOID) || (previousAfter == IdentValue.AVOID && currentBefore == IdentValue.AVOID)) { if (! previousData.isInRun()) { previousData.setStartsRun(true); } previousData.setInRun(true); currentData.setInRun(true); if (offset == _hints.size() - 1) { currentData.setEndsRun(true); } } else { if (previousData.isInRun()) { previousData.setEndsRun(true); } } }
public void markRun(int offset, BlockBox previous, BlockBox current) { RelayoutData previousData = get(offset - 1); RelayoutData currentData = get(offset); IdentValue previousAfter = previous.getStyle().getIdent(CSSName.PAGE_BREAK_AFTER); IdentValue currentBefore = current.getStyle().getIdent(CSSName.PAGE_BREAK_BEFORE); if ((previousAfter == IdentValue.AVOID && currentBefore == IdentValue.AUTO) || (previousAfter == IdentValue.AUTO && currentBefore == IdentValue.AVOID) || (previousAfter == IdentValue.AVOID && currentBefore == IdentValue.AVOID)) { if (! previousData.isInRun()) { previousData.setStartsRun(true); } previousData.setInRun(true); currentData.setInRun(true); if (offset == _hints.size() - 1) { currentData.setEndsRun(true); } } else { if (previousData.isInRun()) { previousData.setEndsRun(true); } } }