public boolean crossesPageBreak(LayoutContext c, int top, int bottom) { if (top < 0) { return false; } PageBox page = getPage(c, top); return bottom >= page.getBottom() - c.getExtraSpaceBottom(); }
public boolean isPageBreaksChange(LayoutContext c, int posDeltaY) { if (! c.isPageBreaksAllowed()) { return false; } PageBox page = c.getRootLayer().getFirstPage(c, this); int bottomEdge = getAbsY() + getChildrenHeight(); return bottomEdge >= page.getBottom() - c.getExtraSpaceBottom() || bottomEdge + posDeltaY >= page.getBottom() - c.getExtraSpaceBottom(); }
public boolean isPageBreaksChange(LayoutContext c, int posDeltaY) { if (! c.isPageBreaksAllowed()) { return false; } PageBox page = c.getRootLayer().getFirstPage(c, this); int bottomEdge = getAbsY() + getChildrenHeight(); return bottomEdge >= page.getBottom() - c.getExtraSpaceBottom() || bottomEdge + posDeltaY >= page.getBottom() - c.getExtraSpaceBottom(); }
public boolean crossesPageBreak(LayoutContext c) { if (! c.isPageBreaksAllowed()) { return false; } PageBox pageBox = c.getRootLayer().getFirstPage(c, this); if (pageBox == null) { return false; } else { return getAbsY() + getHeight() >= pageBox.getBottom() - c.getExtraSpaceBottom(); } }
public boolean crossesPageBreak(LayoutContext c) { if (! c.isPageBreaksAllowed()) { return false; } PageBox pageBox = c.getRootLayer().getFirstPage(c, this); if (pageBox == null) { return false; } else { return getAbsY() + getHeight() >= pageBox.getBottom() - c.getExtraSpaceBottom(); } }
public LayoutState captureLayoutState() { LayoutState result = new LayoutState(); result.setFirstLines(_firstLines); result.setFirstLetters(_firstLetters); result.setCurrentMarkerData(_currentMarkerData); result.setBFCs(_bfcs); if (isPrint()) { result.setPageName(getPageName()); result.setExtraSpaceBottom(getExtraSpaceBottom()); result.setExtraSpaceTop(getExtraSpaceTop()); result.setNoPageBreak(getNoPageBreak()); } return result; }
private void layoutTable(LayoutContext c) { boolean running = c.isPrint() && getStyle().isPaginateTable(); int prevExtraTop = 0; int prevExtraBottom = 0; if (running) { prevExtraTop = c.getExtraSpaceTop(); prevExtraBottom = c.getExtraSpaceBottom(); c.setExtraSpaceTop(c.getExtraSpaceTop() + (int)getPadding(c).top() + (int)getBorder(c).top() + getStyle().getBorderVSpacing(c)); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + (int)getPadding(c).bottom() + (int)getBorder(c).bottom() + getStyle().getBorderVSpacing(c)); } super.layout(c); if (running) { if (isNeedAnalyzePageBreaks()) { analyzePageBreaks(c); setExtraSpaceTop(0); setExtraSpaceBottom(0); } else { setExtraSpaceTop(c.getExtraSpaceTop() - prevExtraTop); setExtraSpaceBottom(c.getExtraSpaceBottom() - prevExtraBottom); } c.setExtraSpaceTop(prevExtraTop); c.setExtraSpaceBottom(prevExtraBottom); } }
public LayoutState captureLayoutState() { LayoutState result = new LayoutState(); result.setFirstLines(_firstLines); result.setFirstLetters(_firstLetters); result.setCurrentMarkerData(_currentMarkerData); result.setBFCs(_bfcs); if (isPrint()) { result.setPageName(getPageName()); result.setExtraSpaceBottom(getExtraSpaceBottom()); result.setExtraSpaceTop(getExtraSpaceTop()); result.setNoPageBreak(getNoPageBreak()); } return result; }
prevExtraBottom = c.getExtraSpaceBottom(); (int)getBorder(c).top() + getStyle().getBorderVSpacing(c)); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + (int)getPadding(c).bottom() + (int)getBorder(c).bottom() + } else { setExtraSpaceTop(c.getExtraSpaceTop() - prevExtraTop); setExtraSpaceBottom(c.getExtraSpaceBottom() - prevExtraBottom);
prevExtraBottom = c.getExtraSpaceBottom(); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + getExtraSpaceBottom());
prevExtraBottom = c.getExtraSpaceBottom(); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + getExtraSpaceBottom());
private int layoutRunningFooter(LayoutContext c) { int result = 0; if (getChildCount() > 0) { TableSectionBox section = (TableSectionBox)getChild(getChildCount()-1); if (section.isFooter()) { c.setNoPageBreak(c.getNoPageBreak() + 1); section.initContainingLayer(c); section.layout(c); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + section.getHeight() + getStyle().getBorderVSpacing(c)); result = section.getHeight(); section.reset(c); c.setNoPageBreak(c.getNoPageBreak() - 1); } } return result; }
public void checkPagePosition(LayoutContext c, boolean alwaysBreak) { if (! c.isPageBreaksAllowed()) { return; } PageBox pageBox = c.getRootLayer().getFirstPage(c, this); if (pageBox != null) { boolean needsPageBreak = alwaysBreak || getAbsY() + getHeight() >= pageBox.getBottom() - c.getExtraSpaceBottom(); if (needsPageBreak) { forcePageBreakBefore(c, IdentValue.ALWAYS, false); calcCanvasLocation(); } else if (pageBox.getTop() + c.getExtraSpaceTop() > getAbsY()) { int diff = pageBox.getTop() + c.getExtraSpaceTop() - getAbsY(); setY(getY() + diff); calcCanvasLocation(); } } }
private int layoutRunningFooter(LayoutContext c) { int result = 0; if (getChildCount() > 0) { TableSectionBox section = (TableSectionBox)getChild(getChildCount()-1); if (section.isFooter()) { c.setNoPageBreak(c.getNoPageBreak() + 1); section.initContainingLayer(c); section.layout(c); c.setExtraSpaceBottom(c.getExtraSpaceBottom() + section.getHeight() + getStyle().getBorderVSpacing(c)); result = section.getHeight(); section.reset(c); c.setNoPageBreak(c.getNoPageBreak() - 1); } } return result; }
public void checkPagePosition(LayoutContext c, boolean alwaysBreak) { if (! c.isPageBreaksAllowed()) { return; } PageBox pageBox = c.getRootLayer().getFirstPage(c, this); if (pageBox != null) { boolean needsPageBreak = alwaysBreak || getAbsY() + getHeight() >= pageBox.getBottom() - c.getExtraSpaceBottom(); if (needsPageBreak) { forcePageBreakBefore(c, IdentValue.ALWAYS, false); calcCanvasLocation(); } else if (pageBox.getTop() + c.getExtraSpaceTop() > getAbsY()) { int diff = pageBox.getTop() + c.getExtraSpaceTop() - getAbsY(); setY(getY() + diff); calcCanvasLocation(); } } }