arved       01/07/12 19:30:37

  Modified:    src/org/apache/fop/fo/flow Block.java
  Log:
  AHS: addressing break boundary conditions
  
  Revision  Changes    Path
  1.34      +21 -73    xml-fop/src/org/apache/fop/fo/flow/Block.java
  
  Index: Block.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Block.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- Block.java        2001/03/05 04:39:56     1.33
  +++ Block.java        2001/07/13 02:30:33     1.34
  @@ -1,52 +1,8 @@
  -/*-- $Id: Block.java,v 1.33 2001/03/05 04:39:56 keiron Exp $ --
  -
  - ============================================================================
  - The Apache Software License, Version 1.1
  - ============================================================================
  -
  -             Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -             this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -             this list of conditions and the following disclaimer in the 
documentation
  -             and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -             include  the following  acknowledgment:  "This product includes  
software
  -             developed  by the  Apache Software Foundation  
(http://www.apache.org/)."
  -             Alternately, this  acknowledgment may  appear in the software itself,  
if
  -             and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
  -             endorse  or promote  products derived  from this  software without  
prior
  -             written permission. For written permission, please contact
  -             [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -             "Apache" appear  in their name,  without prior written permission  of 
the
  -             Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - James Tauber <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  +/*-- $Id: Block.java,v 1.34 2001/07/13 02:30:33 arved Exp $-- */
  +/*
  + * Copyright (C) 2001 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.fo.flow;
  @@ -147,10 +103,14 @@
                                                                
area.getIDReferences().createID(id);
   
                                                this.marker = 0;
  -                                             int breakStatus;
  -  if ((breakStatus = propMgr.checkBreakBefore()) != Status.OK) {
  -    return new Status(breakStatus);
  -  }
  +                                             
  +                                             // no break if first in area tree, or 
leading in context
  +                                             // area
  +                                             int breakBeforeStatus = 
propMgr.checkBreakBefore(area);
  +                                         if (breakBeforeStatus != Status.OK) {
  +                                                 return new 
Status(breakBeforeStatus);
  +                                         }
  +                                       
                                                int numChildren = this.children.size();
                                                for (int i = 0; i < numChildren; i++) {
                                                                FONode fo = (FONode) 
children.elementAt(i);
  @@ -274,27 +234,15 @@
                                if (area instanceof BlockArea) {
                                                area.start();
                                }
  -
  -                             if (breakAfter == BreakAfter.PAGE) {
  -                                             this.marker = BREAK_AFTER;
  -                                             return new 
Status(Status.FORCE_PAGE_BREAK);
  -                             }
  -
  -                             if (breakAfter == BreakAfter.ODD_PAGE) {
  -                                             this.marker = BREAK_AFTER;
  -                                             return new 
Status(Status.FORCE_PAGE_BREAK_ODD);
  -                             }
  -
  -                             if (breakAfter == BreakAfter.EVEN_PAGE) {
  -                                             this.marker = BREAK_AFTER;
  -                                             return new 
Status(Status.FORCE_PAGE_BREAK_EVEN);
  -                             }
  -
  -                             if (breakAfter == BreakAfter.COLUMN) {
  -                                             this.marker = BREAK_AFTER;
  -                                             return new 
Status(Status.FORCE_COLUMN_BREAK);
  -                             }
   
  +                             // no break if last in area tree, or trailing in 
context
  +                             // area
  +                             int breakAfterStatus = propMgr.checkBreakAfter(area);
  +                         if (breakAfterStatus != Status.OK) {
  +                                     this.marker = BREAK_AFTER;
  +                                 return new Status(breakAfterStatus);
  +                         }
  +                             
                                if (keepWithNext != 0) {
                                                return new 
Status(Status.KEEP_WITH_NEXT);
                                }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to