vmote       2003/08/28 12:08:59

  Modified:    src/java/org/apache/fop/layoutmgr AddLMVisitor.java
                        BlockContainerLayoutManager.java
                        BlockLayoutManager.java
                        BlockStackingLayoutManager.java BreakPoss.java
                        ContentLayoutManager.java FlowLayoutManager.java
                        InlineStackingLayoutManager.java LayoutContext.java
                        LeafNodeLayoutManager.java LineLayoutManager.java
                        PageLayoutManager.java SpaceSpecifier.java
                        TextLayoutManager.java
               src/java/org/apache/fop/layoutmgr/list Item.java
                        ListBlockLayoutManager.java
                        ListItemLayoutManager.java
               src/java/org/apache/fop/layoutmgr/table Body.java
                        Caption.java Cell.java Row.java
                        TableAndCaptionLayoutManager.java
                        TableLayoutManager.java
               src/java/org/apache/fop/traits SpaceVal.java
  Added:       src/java/org/apache/fop/traits MinOptMax.java
  Removed:     src/java/org/apache/fop/layoutmgr MinOptMax.java
  Log:
  move layoutmgr/MinOptMax to traits/MinOptMax
  
  Revision  Changes    Path
  1.14      +2 -1      xml-fop/src/java/org/apache/fop/layoutmgr/AddLMVisitor.java
  
  Index: AddLMVisitor.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/AddLMVisitor.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- AddLMVisitor.java 26 Aug 2003 19:51:20 -0000      1.13
  +++ AddLMVisitor.java 28 Aug 2003 19:08:58 -0000      1.14
  @@ -125,6 +125,7 @@
   import java.awt.geom.Rectangle2D;
   
   import org.apache.fop.apps.*;
  +import org.apache.fop.traits.*;
   
   /**
    * Concrete implementation of FOTreeVisitor for the purpose of adding
  
  
  
  1.6       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
  
  Index: BlockContainerLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- BlockContainerLayoutManager.java  24 Aug 2003 18:04:07 -0000      1.5
  +++ BlockContainerLayoutManager.java  28 Aug 2003 19:08:58 -0000      1.6
  @@ -63,6 +63,7 @@
   import org.apache.fop.fo.PropertyList;
   import org.apache.fop.area.CTM;
   import org.apache.fop.datatypes.FODimension;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for a block FO.
  
  
  
  1.5       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
  
  Index: BlockLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- BlockLayoutManager.java   22 Aug 2003 17:42:41 -0000      1.4
  +++ BlockLayoutManager.java   28 Aug 2003 19:08:58 -0000      1.5
  @@ -65,6 +65,7 @@
   import org.apache.fop.fo.properties.CommonBackground;
   import org.apache.fop.fonts.*;
   import org.apache.fop.apps.*;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for a block FO.
  
  
  
  1.2       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java
  
  Index: BlockStackingLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BlockStackingLayoutManager.java   11 Mar 2003 13:05:24 -0000      1.1
  +++ BlockStackingLayoutManager.java   28 Aug 2003 19:08:58 -0000      1.2
  @@ -53,6 +53,7 @@
   import org.apache.fop.area.Area;
   import org.apache.fop.area.BlockParent;
   import org.apache.fop.area.Block;
  +import org.apache.fop.traits.*;
   
   /**
    * Base LayoutManager class for all areas which stack their child
  
  
  
  1.2       +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/BreakPoss.java
  
  Index: BreakPoss.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BreakPoss.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BreakPoss.java    11 Mar 2003 13:05:24 -0000      1.1
  +++ BreakPoss.java    28 Aug 2003 19:08:58 -0000      1.2
  @@ -51,6 +51,7 @@
   package org.apache.fop.layoutmgr;
   
   import org.apache.fop.traits.LayoutProps;
  +import org.apache.fop.traits.*;
   
   /**
    * Represents a break possibility for the layout manager.
  
  
  
  1.3       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/ContentLayoutManager.java
  
  Index: ContentLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/ContentLayoutManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ContentLayoutManager.java 22 Aug 2003 17:42:41 -0000      1.2
  +++ ContentLayoutManager.java 28 Aug 2003 19:08:58 -0000      1.3
  @@ -62,6 +62,7 @@
   import java.util.List;
   import java.util.Map;
   import java.util.ArrayList;
  +import org.apache.fop.traits.*;
   
   /**
    * Content Layout Manager.
  
  
  
  1.2       +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/FlowLayoutManager.java
  
  Index: FlowLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/FlowLayoutManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FlowLayoutManager.java    11 Mar 2003 13:05:24 -0000      1.1
  +++ FlowLayoutManager.java    28 Aug 2003 19:08:58 -0000      1.2
  @@ -56,6 +56,7 @@
   
   import java.util.ArrayList;
   import java.util.List;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for an fo:flow object.
  
  
  
  1.3       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/InlineStackingLayoutManager.java
  
  Index: InlineStackingLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/InlineStackingLayoutManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InlineStackingLayoutManager.java  12 Aug 2003 18:02:45 -0000      1.2
  +++ InlineStackingLayoutManager.java  28 Aug 2003 19:08:58 -0000      1.3
  @@ -63,6 +63,7 @@
   import org.apache.fop.area.inline.InlineArea;
   import org.apache.fop.area.inline.InlineParent;
   import org.apache.fop.area.inline.Space;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for objects which stack children in the inline direction,
  
  
  
  1.2       +2 -0      xml-fop/src/java/org/apache/fop/layoutmgr/LayoutContext.java
  
  Index: LayoutContext.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LayoutContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LayoutContext.java        11 Mar 2003 13:05:24 -0000      1.1
  +++ LayoutContext.java        28 Aug 2003 19:08:58 -0000      1.2
  @@ -50,6 +50,8 @@
    */ 
   package org.apache.fop.layoutmgr;
   
  +import org.apache.fop.traits.*;
  +
   
   /**
    * This class is used to pass information to the getNextBreakPoss()
  
  
  
  1.2       +1 -0      
xml-fop/src/java/org/apache/fop/layoutmgr/LeafNodeLayoutManager.java
  
  Index: LeafNodeLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LeafNodeLayoutManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LeafNodeLayoutManager.java        11 Mar 2003 13:05:24 -0000      1.1
  +++ LeafNodeLayoutManager.java        28 Aug 2003 19:08:58 -0000      1.2
  @@ -53,6 +53,7 @@
   import org.apache.fop.area.Area;
   import org.apache.fop.area.inline.InlineArea;
   import org.apache.fop.fo.properties.VerticalAlign;
  +import org.apache.fop.traits.*;
   
   /**
    * Base LayoutManager for leaf-node FObj, ie: ones which have no children.
  
  
  
  1.3       +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/LineLayoutManager.java
  
  Index: LineLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LineLayoutManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LineLayoutManager.java    12 Aug 2003 18:02:45 -0000      1.2
  +++ LineLayoutManager.java    28 Aug 2003 19:08:58 -0000      1.3
  @@ -64,6 +64,7 @@
   import java.util.Iterator;
   import java.util.List;
   import java.util.ArrayList;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for lines. It builds one or more lines containing
  
  
  
  1.17      +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java
  
  Index: PageLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PageLayoutManager.java    28 Aug 2003 18:03:13 -0000      1.16
  +++ PageLayoutManager.java    28 Aug 2003 19:08:58 -0000      1.17
  @@ -91,6 +91,7 @@
   import java.awt.Rectangle;
   import java.util.Iterator;
   import java.awt.geom.Rectangle2D;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for a PageSequence and its flow.
  
  
  
  1.2       +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/SpaceSpecifier.java
  
  Index: SpaceSpecifier.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/SpaceSpecifier.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SpaceSpecifier.java       11 Mar 2003 13:05:24 -0000      1.1
  +++ SpaceSpecifier.java       28 Aug 2003 19:08:58 -0000      1.2
  @@ -53,6 +53,7 @@
   import org.apache.fop.traits.SpaceVal;
   import java.util.ArrayList;
   import java.util.List;
  +import org.apache.fop.traits.*;
   
   /**
    * Accumulate a sequence of space-specifiers (XSL space type) on
  
  
  
  1.3       +1 -0      xml-fop/src/java/org/apache/fop/layoutmgr/TextLayoutManager.java
  
  Index: TextLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/TextLayoutManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TextLayoutManager.java    14 Aug 2003 15:31:10 -0000      1.2
  +++ TextLayoutManager.java    28 Aug 2003 19:08:58 -0000      1.3
  @@ -60,6 +60,7 @@
   import org.apache.fop.area.inline.Space;
   import org.apache.fop.util.CharUtilities;
   import org.apache.fop.fonts.*;
  +import org.apache.fop.traits.*;
   
   /**
    * LayoutManager for text (a sequence of characters) which generates one
  
  
  
  1.3       +1 -1      xml-fop/src/java/org/apache/fop/layoutmgr/list/Item.java
  
  Index: Item.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/list/Item.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Item.java 12 Aug 2003 18:02:46 -0000      1.2
  +++ Item.java 28 Aug 2003 19:08:59 -0000      1.3
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.3       +1 -1      
xml-fop/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
  
  Index: ListBlockLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ListBlockLayoutManager.java       12 Aug 2003 18:02:46 -0000      1.2
  +++ ListBlockLayoutManager.java       28 Aug 2003 19:08:59 -0000      1.3
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.4       +1 -1      
xml-fop/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
  
  Index: ListItemLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ListItemLayoutManager.java        22 Aug 2003 17:42:41 -0000      1.3
  +++ ListItemLayoutManager.java        28 Aug 2003 19:08:59 -0000      1.4
  @@ -61,7 +61,7 @@
   import org.apache.fop.layoutmgr.Position;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.3       +1 -1      xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java
  
  Index: Body.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Body.java 12 Aug 2003 18:02:46 -0000      1.2
  +++ Body.java 28 Aug 2003 19:08:59 -0000      1.3
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.2       +1 -1      xml-fop/src/java/org/apache/fop/layoutmgr/table/Caption.java
  
  Index: Caption.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Caption.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Caption.java      11 Mar 2003 13:05:30 -0000      1.1
  +++ Caption.java      28 Aug 2003 19:08:59 -0000      1.2
  @@ -60,7 +60,7 @@
   import org.apache.fop.layoutmgr.Position;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   
   import java.util.ArrayList;
   import java.util.List;
  
  
  
  1.3       +1 -1      xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java
  
  Index: Cell.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Cell.java 12 Aug 2003 18:02:46 -0000      1.2
  +++ Cell.java 28 Aug 2003 19:08:59 -0000      1.3
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.4       +1 -1      xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java
  
  Index: Row.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Row.java  22 Aug 2003 17:42:41 -0000      1.3
  +++ Row.java  28 Aug 2003 19:08:59 -0000      1.4
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.2       +1 -1      
xml-fop/src/java/org/apache/fop/layoutmgr/table/TableAndCaptionLayoutManager.java
  
  Index: TableAndCaptionLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/TableAndCaptionLayoutManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TableAndCaptionLayoutManager.java 11 Mar 2003 13:05:30 -0000      1.1
  +++ TableAndCaptionLayoutManager.java 28 Aug 2003 19:08:59 -0000      1.2
  @@ -60,7 +60,7 @@
   import org.apache.fop.layoutmgr.Position;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   
   import java.util.ArrayList;
   import java.util.List;
  
  
  
  1.4       +1 -1      
xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
  
  Index: TableLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TableLayoutManager.java   22 Aug 2003 17:42:41 -0000      1.3
  +++ TableLayoutManager.java   28 Aug 2003 19:08:59 -0000      1.4
  @@ -62,7 +62,7 @@
   import org.apache.fop.layoutmgr.TraitSetter;
   import org.apache.fop.area.Area;
   import org.apache.fop.area.Block;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +import org.apache.fop.traits.MinOptMax;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonBackground;
   
  
  
  
  1.2       +1 -1      xml-fop/src/java/org/apache/fop/traits/SpaceVal.java
  
  Index: SpaceVal.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/traits/SpaceVal.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SpaceVal.java     11 Mar 2003 13:05:36 -0000      1.1
  +++ SpaceVal.java     28 Aug 2003 19:08:59 -0000      1.2
  @@ -51,7 +51,7 @@
   package org.apache.fop.traits;
   
   import org.apache.fop.datatypes.Space;
  -import org.apache.fop.layoutmgr.MinOptMax;
  +
   import org.apache.fop.fo.Property;
   import org.apache.fop.fo.properties.Constants;
   
  
  
  
  1.1                  xml-fop/src/java/org/apache/fop/traits/MinOptMax.java
  
  Index: MinOptMax.java
  ===================================================================
  /*
   * $Id: MinOptMax.java,v 1.1 2003/08/28 19:08:59 vmote Exp $
   * ============================================================================
   *                    The Apache Software License, Version 1.1
   * ============================================================================
   * 
   * Copyright (C) 1999-2003 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/>.
   */ 
  package org.apache.fop.traits;
  
  /**
   * This class holds the resolved (as mpoints) form of a LengthRange or
   * Space type Property value.
   * MinOptMax values are used during layout calculations. The instance
   * variables are package visible.
   */
  public class MinOptMax implements java.io.Serializable, Cloneable {
  
      /** Publicly visible min(imum), opt(imum) and max(imum) values.*/
      public int min;
      public int opt;
      public int max;
  
      /**
       * New min/opt/max with zero values.
       */
      public MinOptMax() {
          this(0);
      }
  
      /**
       * New min/opt/max with one fixed value.
       *
       * @param val the value for min, opt and max
       */
      public MinOptMax(int val) {
          this(val, val, val);
      }
  
      /**
       * New min/opt/max with the three values.
       *
       * @param min the minimum value
       * @param opt the optimum value
       * @param max the maximum value
       */
      public MinOptMax(int min, int opt, int max) {
          this.min = min;
          this.opt = opt;
          this.max = max;
      }
  
      /**
       * @see java.lang.Object#clone()
       */
      public Object clone() {
          try {
              return super.clone();
          } catch (CloneNotSupportedException ex) {
              // SHOULD NEVER OCCUR - all members are primitive types!
              return null;
          }
      }
  
      /**
       * Subtracts one MinOptMax instance from another returning a new one.
       * @param op1 first instance to subtract from
       * @param op2 second instance
       * @return MinOptMax new instance
       */
      public static MinOptMax subtract(MinOptMax op1, MinOptMax op2) {
          return new MinOptMax(op1.min - op2.max, op1.opt - op2.opt,
                               op1.max - op2.min);
      }
  
      /**
       * Adds one MinOptMax instance to another returning a new one.
       * @param op1 first instance
       * @param op2 second instance
       * @return MinOptMax new instance
       */
      public static MinOptMax add(MinOptMax op1, MinOptMax op2) {
          return new MinOptMax(op1.min + op2.min, op1.opt + op2.opt,
                               op1.max + op2.max);
      }
  
      /**
       * Multiplies a MinOptMax instance with a factor returning a new instance.
       * @param op1 MinOptMax instance
       * @param mult multiplier
       * @return MinOptMax new instance
       */
      public static MinOptMax multiply(MinOptMax op1, double mult) {
          return new MinOptMax((int)(op1.min * mult),
                               (int)(op1.opt * mult), (int)(op1.max * mult));
      }
  
      /**
       * Adds another MinOptMax instance to this one.
       * @param op the other instance
       */
      public void add(MinOptMax op) {
          min += op.min;
          opt += op.opt;
          max += op.max;
      }
  
      /**
       * Subtracts from this instance using another.
       * @param op the other instance
       */
      public void subtract(MinOptMax op) {
          min -= op.max;
          opt -= op.opt;
          max -= op.min;
      }
  
  }
  
  
  
  

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

Reply via email to