You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by kl...@apache.org on 2001/06/14 23:22:58 UTC

cvs commit: xml-fop/src/org/apache/fop/fo/flow TableCell.java

klease      01/06/14 14:22:56

  Modified:    src/org/apache/fop/fo/flow TableCell.java
  Log:
  Submitted by: Ivan Demakov
  Reviewed by:  Karen Lease
  Improves cell borders when border-collapse=collapse (the default). Note that
  this doesn't implement the full CR, but it's a big improvement and will handle
  many common cases.
  
  Revision  Changes    Path
  1.32      +20 -4     xml-fop/src/org/apache/fop/fo/flow/TableCell.java
  
  Index: TableCell.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/TableCell.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- TableCell.java	2001/05/02 21:00:49	1.31
  +++ TableCell.java	2001/06/14 21:22:54	1.32
  @@ -1,4 +1,4 @@
  -/*-- $Id: TableCell.java,v 1.31 2001/05/02 21:00:49 klease Exp $ --
  +/*-- $Id: TableCell.java,v 1.32 2001/06/14 21:22:54 klease 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.
  @@ -47,6 +47,9 @@
   		 */
   		protected int beforeOffset;
   
  +		/* ivan demakov */
  +		protected int borderHeight = 0;
  +
   		protected int height = 0;
   		protected int top; // Ypos of cell ???
   		protected int verticalAlign ;
  @@ -155,7 +158,7 @@
   				this.cellArea =
   						new AreaContainer(propMgr.getFontState(area.getFontInfo()),
   															startOffset, beforeOffset,
  -															width, area.spaceLeft()- m_borderSeparation/2,
  +															width, area.spaceLeft()- m_borderSeparation/2 + borderHeight/2,
   															Position.RELATIVE);
   
   				cellArea.foCreator=this;	// G Seshadri
  @@ -215,7 +218,7 @@
   		// TableRow calls this. Anyone else?
   		public int getHeight() {
   				// return cellArea.getHeight() + spaceBefore + spaceAfter;
  -				return cellArea.getHeight() + m_borderSeparation ;
  +				return cellArea.getHeight() + m_borderSeparation - borderHeight / 2;
   		}
   
   		/** Called by TableRow to set final size of cell content rectangles and
  @@ -230,7 +233,7 @@
   				//	cellArea.setMaxHeight(h);
   				// Increase content height by difference of row content height
   				// and current cell allocation height (includes borders & padding)
  -				cellArea.increaseHeight(h - cellArea.getHeight());
  +				cellArea.increaseHeight(h + borderHeight/2 - cellArea.getHeight());
   				if (bRelativeAlign) {
   						// Must get info for all cells starting in row!
   						// verticalAlign can be BEFORE or BASELINE
  @@ -316,6 +319,19 @@
   							column. Look out for spanning columns.
   						*/
   
  +						/* ivan demakov */
  +						int borderStart  = bp.getBorderLeftWidth(false);
  +						int borderEnd    = bp.getBorderRightWidth(false);
  +						int borderBefore = bp.getBorderTopWidth(false);
  +						int borderAfter  = bp.getBorderBottomWidth(false);
  +
  +						int contentOffset = borderStart/2 + bp.getPaddingLeft(false);
  +
  +						this.startOffset += contentOffset;
  +						this.width -= (contentOffset + borderEnd/2 + bp.getPaddingRight(false));
  +
  +						this.beforeOffset = borderBefore/2 + bp.getPaddingTop(false);
  +						this.borderHeight = borderBefore + borderAfter;
   				}
   		}
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org