12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * $Id$
- * Copyright (C) 2002 The Apache Software Foundation. All rights reserved.
- * For details on use and redistribution please refer to the
- * LICENSE file included with these sources.
- */
-
- package org.apache.fop.traits;
-
- import org.apache.fop.datatypes.Length;
- import org.apache.fop.fo.properties.Constants;
-
- /**
- * Store properties affecting layout: break-before, break-after, keeps, span.
- * for a block level FO.
- * Public "structure" allows direct member access.
- */
- public class LayoutProps {
- public int breakBefore; // enum constant BreakBefore.xxx
- public int breakAfter; // enum constant BreakAfter.xxx
- public boolean bIsSpan;
- public SpaceVal spaceBefore;
- public SpaceVal spaceAfter;
-
- private static final int[] s_breakPriorities = new int[] {
- Constants.AUTO, Constants.COLUMN, Constants.PAGE };
-
-
- public LayoutProps() {
- breakBefore = breakAfter = Constants.AUTO;
- bIsSpan = false;
- }
-
- // public static int higherBreak(int brkParent, int brkChild) {
- // if (brkParent == brkChild) return brkChild;
- // for (int i=0; i < s_breakPriorities.length; i++) {
- // int bp = s_breakPriorities[i];
- // if (bp == brkParent) return brkChild;
- // else if (bp == brkChild) return brkParent;
- // }
- // return brkChild;
- // }
-
- public void combineWithParent(LayoutProps parentLP) {
- if (parentLP.breakBefore != breakBefore) {
- for (int i=0; i < s_breakPriorities.length; i++) {
- int bp = s_breakPriorities[i];
- if (bp == breakBefore) {
- breakBefore = parentLP.breakBefore;
- break;
- }
- else if (bp == parentLP.breakBefore) break;
- }
- }
- // Parent span always overrides child span
- bIsSpan = parentLP.bIsSpan;
- }
- }
|