arved 02/04/23 15:23:39 Modified: src/org/apache/fop/fo Tag: fop-0_20_2-maintain PropertyManager.java Log: support for background-image (all renderers) author: Michael Gratton Revision Changes Path No revision No revision 1.7.2.3 +61 -18 xml-fop/src/org/apache/fop/fo/PropertyManager.java Index: PropertyManager.java =================================================================== RCS file: /x1/home/cvs/xml-fop/src/org/apache/fop/fo/PropertyManager.java,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.3 diff -u -r1.7.2.2 -r1.7.2.3 --- PropertyManager.java 9 Jan 2002 11:32:57 -0000 1.7.2.2 +++ PropertyManager.java 23 Apr 2002 22:23:39 -0000 1.7.2.3 @@ -1,5 +1,5 @@ /* - * $Id: PropertyManager.java,v 1.7.2.2 2002/01/09 11:32:57 keiron Exp $ + * $Id: PropertyManager.java,v 1.7.2.3 2002/04/23 22:23:39 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. @@ -7,27 +7,32 @@ package org.apache.fop.fo; -import org.apache.fop.layout.FontState; -import org.apache.fop.layout.FontInfo; -import org.apache.fop.layout.BorderAndPadding; -import org.apache.fop.layout.MarginProps; -import org.apache.fop.layout.BackgroundProps; -import org.apache.fop.layout.MarginInlineProps; -import org.apache.fop.layout.AccessibilityProps; -import org.apache.fop.layout.AuralProps; -import org.apache.fop.layout.RelativePositionProps; -import org.apache.fop.layout.AbsolutePositionProps; +import java.net.MalformedURLException; +import java.text.FieldPosition; +import java.text.MessageFormat; + +import org.apache.fop.apps.FOPException; import org.apache.fop.fo.properties.BreakAfter; import org.apache.fop.fo.properties.BreakBefore; import org.apache.fop.fo.properties.Constants; -import org.apache.fop.layout.HyphenationProps; -import org.apache.fop.apps.FOPException; -import java.text.MessageFormat; -import java.text.FieldPosition; +import org.apache.fop.fo.properties.TextDecoration; +import org.apache.fop.image.FopImage; +import org.apache.fop.image.FopImageFactory; +import org.apache.fop.image.FopImageException; +import org.apache.fop.layout.AbsolutePositionProps; +import org.apache.fop.layout.AccessibilityProps; import org.apache.fop.layout.Area; +import org.apache.fop.layout.AuralProps; +import org.apache.fop.layout.BackgroundProps; +import org.apache.fop.layout.BorderAndPadding; import org.apache.fop.layout.ColumnArea; +import org.apache.fop.layout.FontInfo; +import org.apache.fop.layout.FontState; +import org.apache.fop.layout.HyphenationProps; +import org.apache.fop.layout.MarginInlineProps; +import org.apache.fop.layout.MarginProps; +import org.apache.fop.layout.RelativePositionProps; import org.apache.fop.layout.TextState; -import org.apache.fop.fo.properties.TextDecoration; public class PropertyManager { @@ -35,6 +40,7 @@ private FontState fontState = null; private BorderAndPadding borderAndPadding = null; private HyphenationProps hyphProps = null; + private BackgroundProps bgProps = null; private String[] saLeft; private String[] saRight; @@ -212,8 +218,45 @@ } public BackgroundProps getBackgroundProps() { - BackgroundProps bp = new BackgroundProps(); - return bp; + if (bgProps == null) { + this.bgProps = new BackgroundProps(); + // bgProps.backAttachment = this.properties.get("background-attachment").getEnum(); + bgProps.backColor = + this.properties.get("background-color").getColorType(); + + String src = this.properties.get("background-image").getString(); + if (src.equalsIgnoreCase("none")) { + bgProps.backImage = null; + } + else if (src.equalsIgnoreCase("inherit")) { + // XXX: implement this + bgProps.backImage = null; + } + else { + try { + bgProps.backImage = FopImageFactory.Make(src); + } + catch (MalformedURLException urlex) { + bgProps.backImage = null; + // XXX: use a logger instead + System.out.println("Error creating background image: " + + urlex.getMessage()); + } + catch (FopImageException imgex) { + bgProps.backImage = null; + // XXX: use a logger instead + System.out.println("Error creating background image: " + + imgex.getMessage()); + } + } + + bgProps.backRepeat = this.properties.get("background-repeat").getEnum(); + + + // bgProps.backPosHorizontal = this.properties.get("background-position-horizontal").getLength(); + // bgProps.backPosVertical = this.properties.get("background-position-vertical").getLength(); + } + return bgProps; } public MarginInlineProps getMarginInlineProps() {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]