]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Proper handling of the color property on page-number and page-number-citatition.
authorJeremias Maerki <jeremias@apache.org>
Wed, 3 Aug 2005 18:37:31 +0000 (18:37 +0000)
committerJeremias Maerki <jeremias@apache.org>
Wed, 3 Aug 2005 18:37:31 +0000 (18:37 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@227245 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/flow/PageNumber.java
src/java/org/apache/fop/fo/flow/PageNumberCitation.java
src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java

index 14c3bd437789636facc67ad103e2b2c3bb649892..e3afb7ab435da9f7c9df3d29d9746bec404c1e03 100644 (file)
@@ -21,7 +21,9 @@ package org.apache.fop.fo.flow;
 import org.xml.sax.Locator;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.datatypes.ColorType;
 import org.apache.fop.datatypes.Length;
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.PropertyList;
@@ -68,6 +70,9 @@ public class PageNumber extends FObj {
     private int wrapOption;
     //  End of property values
 
+    // Properties which are not explicitely listed but are still applicable 
+    private ColorType color;
+    
     /**
      * @param parent FONode that is the parent of this object
      */
@@ -103,6 +108,9 @@ public class PageNumber extends FObj {
         visibility = pList.get(PR_VISIBILITY).getEnum();
         wordSpacing = pList.get(PR_WORD_SPACING).getSpace();
         wrapOption = pList.get(PR_WRAP_OPTION).getEnum();
+
+        // implicit properties
+        color = pList.get(Constants.PR_COLOR).getColorType();
     }
 
     /**
@@ -129,23 +137,22 @@ public class PageNumber extends FObj {
             invalidChildError(loc, nsURI, localName);
     }
 
-    /**
-     * Return the Common Font Properties.
-     */
+    /** @return the Common Font Properties. */
     public CommonFont getCommonFont() {
         return commonFont;
     }
 
-    /**
-     * Return the Common Border, Padding, and Background Properties.
-     */
+    /** @return the "color" property. */
+    public ColorType getColor() {
+        return color;
+    }
+
+    /** @return the Common Border, Padding, and Background Properties. */
     public CommonBorderPaddingBackground getCommonBorderPaddingBackground() {
         return commonBorderPaddingBackground;
     }
 
-    /**
-     * @return the "id" property.
-     */
+    /** @return the "id" property. */
     public String getId() {
         return id;
     }
@@ -155,16 +162,12 @@ public class PageNumber extends FObj {
         return textDecoration; 
     }
 
-    /**
-     * @see org.apache.fop.fo.FONode#getName()
-     */
+    /** @see org.apache.fop.fo.FONode#getName() */
     public String getName() {
         return "fo:page-number";
     }
 
-    /**
-     * @see org.apache.fop.fo.FObj#getNameId()
-     */
+    /** @see org.apache.fop.fo.FObj#getNameId() */
     public int getNameId() {
         return FO_PAGE_NUMBER;
     }
index 178d5fdeef23c8032f35fbe8371c9da0ff2534f5..775479b4308d939487afb4281d9f394c226a4ce1 100644 (file)
@@ -21,7 +21,9 @@ package org.apache.fop.fo.flow;
 import org.xml.sax.Locator;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.datatypes.ColorType;
 import org.apache.fop.datatypes.Length;
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.PropertyList;
@@ -72,6 +74,9 @@ public class PageNumberCitation extends FObj {
     private int wrapOption;
     // End of property values
 
+    // Properties which are not explicitely listed but are still applicable 
+    private ColorType color;
+
     /**
      * @param parent FONode that is the parent of this object
      */
@@ -108,6 +113,9 @@ public class PageNumberCitation extends FObj {
         visibility = pList.get(PR_VISIBILITY).getEnum();
         wordSpacing = pList.get(PR_WORD_SPACING).getSpace();
         wrapOption = pList.get(PR_WRAP_OPTION).getEnum();
+        
+        // implicit properties
+        color = pList.get(Constants.PR_COLOR).getColorType();
     }
 
     /**
@@ -129,42 +137,37 @@ public class PageNumberCitation extends FObj {
             invalidChildError(loc, nsURI, localName);
     }
 
-    /**
-     * Return the Common Font Properties.
-     */
+    /** @return the Common Font Properties. */
     public CommonFont getCommonFont() {
         return commonFont;
     }
 
+    /** @return the "color" property. */
+    public ColorType getColor() {
+        return color;
+    }
+
     /** @return the "text-decoration" property. */
     public CommonTextDecoration getTextDecoration() {
         return textDecoration; 
     }
     
-    /**
-     * Return the "id" property.
-     */
+    /** @return the "id" property. */
     public String getId() {
         return id;
     }
 
-    /**
-     * Return the "ref-id" property.
-     */
+    /** @return the "ref-id" property. */
     public String getRefId() {
         return refId;
     }
      
-    /**
-     * @see org.apache.fop.fo.FObj#getName()
-     */
+    /** @see org.apache.fop.fo.FObj#getName() */
     public String getName() {
         return "fo:page-number-citation";
     }
 
-    /**
-     * @see org.apache.fop.fo.FObj#getNameId()
-     */
+    /** @see org.apache.fop.fo.FObj#getNameId() */
     public int getNameId() {
         return FO_PAGE_NUMBER_CITATION;
     }
index 0957cf36f4fc348118e2bfc53e97f90837f664a7..bd075f45dcbdf01da463509a68b90fd3c0fe6fdd 100644 (file)
@@ -105,6 +105,7 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager {
         inline.setOffset(font.getAscender());
         inline.addTrait(Trait.FONT_NAME, font.getFontName());
         inline.addTrait(Trait.FONT_SIZE, new Integer(font.getFontSize()));
+        inline.addTrait(Trait.COLOR, fobj.getColor());
         TraitSetter.addTextDecoration(inline, fobj.getTextDecoration());
         
         return inline;
index dd58e992d2e332fd9c23289d5b32158ba5be2696..17c40aece95b74b09d73c07aebe3c939f9540246 100644 (file)
@@ -48,23 +48,24 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager {
 
     public InlineArea get(LayoutContext context) {
         // get page string from parent, build area
-        TextArea inline = new TextArea();
+        TextArea text = new TextArea();
         String str = getCurrentPV().getPageNumberString();
         int width = 0;
         for (int count = 0; count < str.length(); count++) {
             width += font.getCharWidth(str.charAt(count));
         }
-        inline.setTextArea(str);
-        inline.setIPD(width);
-        inline.setBPD(font.getAscender() - font.getDescender());
-        inline.setOffset(font.getAscender());
-        inline.addTrait(Trait.FONT_NAME, font.getFontName());
-        inline.addTrait(Trait.FONT_SIZE,
+        text.setTextArea(str);
+        text.setIPD(width);
+        text.setBPD(font.getAscender() - font.getDescender());
+        text.setOffset(font.getAscender());
+        text.addTrait(Trait.FONT_NAME, font.getFontName());
+        text.addTrait(Trait.FONT_SIZE,
                         new Integer(font.getFontSize()));
+        text.addTrait(Trait.COLOR, fobj.getColor());
 
-        TraitSetter.addTextDecoration(inline, fobj.getTextDecoration());
+        TraitSetter.addTextDecoration(text, fobj.getTextDecoration());
 
-        return inline;
+        return text;
     }