keiron      01/12/13 01:25:22

  Modified:    docs/examples/fo Tag: fop-0_20_2-maintain textdeko.fo
               src/org/apache/fop/fo Tag: fop-0_20_2-maintain
                        FObjMixed.java PropertyManager.java
               src/org/apache/fop/fo/flow Tag: fop-0_20_2-maintain
                        Block.java Inline.java
  Log:
  adds text-decoration support for blocks
  Submitted by: Christian Geisert <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3.4.2   +8 -2      xml-fop/docs/examples/fo/textdeko.fo
  
  Index: textdeko.fo
  ===================================================================
  RCS file: /home/cvs/xml-fop/docs/examples/fo/textdeko.fo,v
  retrieving revision 1.3.4.1
  retrieving revision 1.3.4.2
  diff -u -r1.3.4.1 -r1.3.4.2
  --- textdeko.fo       2001/12/06 21:28:18     1.3.4.1
  +++ textdeko.fo       2001/12/13 09:25:21     1.3.4.2
  @@ -77,7 +77,7 @@
                   line-height="15pt"
                   space-after.optimum="10pt"
                   text-align="start">
  -        This is simple test of the text-decoration<fo:inline 
text-decoration="underline">underline</fo:inline>.
  +        This is simple test of the text-decoration <fo:inline 
text-decoration="underline">'underline'</fo:inline>.
         </fo:block>
         <fo:block font-size="22pt" 
                   font-family="sans-serif" 
  @@ -96,7 +96,7 @@
         </fo:block>
   
         <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" 
text-align="justify" space-after.optimum="3pt">
  -      The following text decorations are defined in the CR:
  +      The following text decorations are defined in the REC:
         </fo:block>
   
         <fo:list-block space-after.optimum="13pt">
  @@ -244,6 +244,12 @@
                   space-after.optimum="10pt"
                   text-align="start">
           What about underlining of whitespace only<fo:inline 
text-decoration="underline"> </fo:inline>?
  +      </fo:block>
  +
  +
  +      <fo:block space-after.optimum="13pt" font-size="14pt" 
text-decoration="underline">
  +      A whole block should work now.
  +      And again some more Text to get at least two lines.
         </fo:block>
   
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.12.2.1  +13 -2     xml-fop/src/org/apache/fop/fo/FObjMixed.java
  
  Index: FObjMixed.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FObjMixed.java,v
  retrieving revision 1.12
  retrieving revision 1.12.2.1
  diff -u -r1.12 -r1.12.2.1
  --- FObjMixed.java    2001/08/01 22:12:52     1.12
  +++ FObjMixed.java    2001/12/13 09:25:21     1.12.2.1
  @@ -1,5 +1,5 @@
   /*
  - * $Id: FObjMixed.java,v 1.12 2001/08/01 22:12:52 gears Exp $
  + * $Id: FObjMixed.java,v 1.12.2.1 2001/12/13 09:25:21 keiron 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.
  @@ -8,6 +8,7 @@
   package org.apache.fop.fo;
   
   import org.apache.fop.layout.Area;
  +import org.apache.fop.layout.TextState;
   import org.apache.fop.apps.FOPException;
   
   /**
  @@ -16,6 +17,9 @@
    */
   public class FObjMixed extends FObj {
   
  +    // Textdecoration
  +    protected TextState ts;
  +
       public static class Maker extends FObj.Maker {
           public FObj make(FObj parent,
                            PropertyList propertyList) throws FOPException {
  @@ -33,7 +37,14 @@
       }
   
       protected void addCharacters(char data[], int start, int length) {
  -        addChild(new FOText(data, start, length, this));
  +        // addChild(new FOText(data, start, length, this));
  +        FOText ft = new FOText(data, start, length, this);
  +        ft.setLogger(log);
  +        ft.setUnderlined(ts.getUnderlined());
  +        ft.setOverlined(ts.getOverlined());
  +        ft.setLineThrough(ts.getLineThrough());
  +        addChild(ft);
  +
       }
   
       public Status layout(Area area) throws FOPException {
  
  
  
  1.7.2.1   +28 -1     xml-fop/src/org/apache/fop/fo/PropertyManager.java
  
  Index: PropertyManager.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/PropertyManager.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- PropertyManager.java      2001/08/06 09:12:58     1.7
  +++ PropertyManager.java      2001/12/13 09:25:22     1.7.2.1
  @@ -1,5 +1,5 @@
   /*
  - * $Id: PropertyManager.java,v 1.7 2001/08/06 09:12:58 keiron Exp $
  + * $Id: PropertyManager.java,v 1.7.2.1 2001/12/13 09:25:22 keiron 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.
  @@ -26,6 +26,8 @@
   import java.text.FieldPosition;
   import org.apache.fop.layout.Area;
   import org.apache.fop.layout.ColumnArea;
  +import org.apache.fop.layout.TextState;
  +import org.apache.fop.fo.properties.TextDecoration;
   
   public class PropertyManager {
   
  @@ -247,4 +249,29 @@
           AbsolutePositionProps props = new AbsolutePositionProps();
           return props;
       }
  +
  +    public TextState getTextDecoration() throws FOPException {
  +        TextState ts = new TextState();
  +
  +        int textDecoration = this.properties.get("text-decoration").getEnum();
  +
  +        switch (textDecoration) {
  +        case TextDecoration.UNDERLINE:
  +            ts.setUnderlined(true);
  +            break;
  +        case TextDecoration.OVERLINE:
  +            ts.setOverlined(true);
  +            break;
  +        case TextDecoration.LINE_THROUGH:
  +            ts.setLineThrough(true);
  +            break;
  +        case TextDecoration.NONE:
  +            ts.setUnderlined(false);
  +            ts.setOverlined(false);
  +            ts.setLineThrough(false);
  +        }
  +
  +        return ts;
  +    }
  +
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.41.2.2  +5 -2      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.41.2.1
  retrieving revision 1.41.2.2
  diff -u -r1.41.2.1 -r1.41.2.2
  --- Block.java        2001/12/06 21:28:21     1.41.2.1
  +++ Block.java        2001/12/13 09:25:22     1.41.2.2
  @@ -1,5 +1,5 @@
   /*
  - * $Id: Block.java,v 1.41.2.1 2001/12/06 21:28:21 tore Exp $
  + * $Id: Block.java,v 1.41.2.2 2001/12/13 09:25:22 keiron 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.
  @@ -66,10 +66,13 @@
       // this may be helpful on other FOs too
       boolean anythingLaidOut = false;
   
  -    public Block(FObj parent, PropertyList propertyList) {
  +    public Block(FObj parent, PropertyList propertyList)
  +        throws FOPException {
  +
           super(parent, propertyList);
           this.name = "fo:block";
           this.span = this.properties.get("span").getEnum();
  +        ts = propMgr.getTextDecoration();
       }
   
       public Status layout(Area area) throws FOPException {
  
  
  
  1.8.2.1   +6 -22     xml-fop/src/org/apache/fop/fo/flow/Inline.java
  
  Index: Inline.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Inline.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- Inline.java       2001/09/16 13:42:49     1.8
  +++ Inline.java       2001/12/13 09:25:22     1.8.2.1
  @@ -1,5 +1,5 @@
   /*
  - * $Id: Inline.java,v 1.8 2001/09/16 13:42:49 keiron Exp $
  + * $Id: Inline.java,v 1.8.2.1 2001/12/13 09:25:22 keiron 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.
  @@ -30,12 +30,6 @@
           return new Inline.Maker();
       }
   
  -    // Textdecoration
  -    protected boolean underlined = false;
  -    protected boolean overlined = false;
  -    protected boolean lineThrough = false;
  -
  -
       public Inline(FObj parent,
                     PropertyList propertyList) throws FOPException {
           super(parent, propertyList);
  @@ -79,27 +73,17 @@
           // this.properties.get("visibility");
           // this.properties.get("z-index");
   
  -        int textDecoration = this.properties.get("text-decoration").getEnum();
  -
  -        if (textDecoration == TextDecoration.UNDERLINE) {
  -            this.underlined = true;
  -        }
  +        // Text Decoration Properties
  +        ts = propMgr.getTextDecoration();
   
  -        if (textDecoration == TextDecoration.OVERLINE) {
  -            this.overlined = true;
  -        }
  -
  -        if (textDecoration == TextDecoration.LINE_THROUGH) {
  -            this.lineThrough = true;
  -        }
       }
   
       protected void addCharacters(char data[], int start, int length) {
           FOText ft = new FOText(data, start, length, this);
           ft.setLogger(log);
  -        ft.setUnderlined(underlined);
  -        ft.setOverlined(overlined);
  -        ft.setLineThrough(lineThrough);
  +        ft.setUnderlined(ts.getUnderlined());
  +        ft.setOverlined(ts.getOverlined());
  +        ft.setLineThrough(ts.getLineThrough());
           children.addElement(ft);
       }
   
  
  
  

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

Reply via email to