pietsch     2003/06/29 14:11:39

  Modified:    .        build.xml
  Added:       src/java/org/apache/fop/svg PDFGraphicsConfiguration.java
               src/java-1.4/org/apache/fop/svg GraphicsConfiguration.java
               src/java-1.3/org/apache/fop/svg GraphicsConfiguration.java
  Removed:     src/java/org/apache/fop/svg PDFGraphicsConfiguration.javat
  Log:
  Made source more friendly for Eclipse (and IDEs in general)
  by using conditionally different files instead of source copy
  with filtering. Add either src/java-1.3 or src/java1.4 to
  your build path, depending on your JDK.
  Ant build should automatically choose the correct
  file - if the right files are comitted in the current mess, that is.
  
  Revision  Changes    Path
  1.1                  
xml-fop/src/java/org/apache/fop/svg/PDFGraphicsConfiguration.java
  
  Index: PDFGraphicsConfiguration.java
  ===================================================================
  /*
   * $Id: PDFGraphicsConfiguration.java,v 1.1 2003/06/29 21:11:39 pietsch 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.svg;
  
  import java.awt.Rectangle;
  import java.awt.GraphicsDevice;
  import java.awt.Transparency;
  import java.awt.image.ColorModel;
  import java.awt.geom.AffineTransform;
  import java.awt.image.BufferedImage;
  
  /**
   * Our implementation of the class that returns information about
   * roughly what we can handle and want to see (alpha for example).
   */
  class PDFGraphicsConfiguration extends GraphicsConfiguration {
      // We use this to get a good colormodel..
      private static final BufferedImage BI_WITH_ALPHA =
          new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
      // We use this to get a good colormodel..
      private static final BufferedImage BI_WITHOUT_ALPHA =
          new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);
  
      /**
       * Construct a buffered image with an alpha channel, unless
       * transparencty is OPAQUE (no alpha at all).
       *
       * @param width the width of the image
       * @param height the height of the image
       * @param transparency the alpha value of the image
       * @return the new buffered image
       */
      public BufferedImage createCompatibleImage(int width, int height,
              int transparency) {
          if (transparency == Transparency.OPAQUE) {
              return new BufferedImage(width, height,
                                       BufferedImage.TYPE_INT_RGB);
          } else {
              return new BufferedImage(width, height,
                                       BufferedImage.TYPE_INT_ARGB);
          }
      }
  
      /**
       * Construct a buffered image with an alpha channel.
       *
       * @param width the width of the image
       * @param height the height of the image
       * @return the new buffered image
       */
      public BufferedImage createCompatibleImage(int width, int height) {
          return new BufferedImage(width, height,
                                   BufferedImage.TYPE_INT_ARGB);
      }
  
      /**
       * FIXX ME: This should return the page bounds in Pts,
       * I couldn't figure out how to get this for the current
       * page from the PDFDocument (this still works for now,
       * but it should be fixed...).
       *
       * @return the bounds of the PDF document page
       */
      public Rectangle getBounds() {
          System.out.println("getting getBounds");
          return null;
      }
  
      /**
       * Return a good default color model for this 'device'.
       * @return the colour model for the configuration
       */
      public ColorModel getColorModel() {
          return BI_WITH_ALPHA.getColorModel();
      }
  
      /**
       * Return a good color model given <tt>transparency</tt>
       *
       * @param transparency the alpha value for the colour model
       * @return the colour model for the configuration
       */
      public ColorModel getColorModel(int transparency) {
          if (transparency == Transparency.OPAQUE) {
              return BI_WITHOUT_ALPHA.getColorModel();
          } else {
              return BI_WITH_ALPHA.getColorModel();
          }
      }
  
      /**
       * The default transform (1:1).
       *
       * @return the default transform for the configuration
       */
      public AffineTransform getDefaultTransform() {
          System.out.println("getting getDefaultTransform");
          return new AffineTransform();
      }
  
      /**
       * The normalizing transform (1:1) (since we currently
       * render images at 72dpi, which we might want to change
       * in the future).
       *
       * @return the normalizing transform for the configuration
       */
      public AffineTransform getNormalizingTransform() {
          System.out.println("getting getNormalizingTransform");
          return new AffineTransform(2, 0, 0, 2, 0, 0);
      }
  
      /**
       * Return our dummy instance of GraphicsDevice
       *
       * @return the PDF graphics device
       */
      public GraphicsDevice getDevice() {
          return new PDFGraphicsDevice(this);
      }
  
  }
  
  
  
  
  1.1                  
xml-fop/src/java-1.4/org/apache/fop/svg/GraphicsConfiguration.java
  
  Index: GraphicsConfiguration.java
  ===================================================================
  /*
   * $Id: GraphicsConfiguration.java,v 1.1 2003/06/29 21:11:39 pietsch 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.svg;
  /**
   * Adapter to allow subclassing java.awt.GraphicsConfiguration without
   * compilation errors.
   * The version for JDK 1.4 needs to add an override for the abstract
   * createCompatibleVolatileImage() method. It can't be overidden
   * for JDK 1.3 because there is no VolatileImage there. 
   * 
   */
  abstract public class GraphicsConfiguration extends java.awt.GraphicsConfiguration {
  
      public java.awt.image.VolatileImage createCompatibleVolatileImage(int width, int 
height) {
          return null;
      }
  
  }
  
  
  
  1.86      +17 -18    xml-fop/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/build.xml,v
  retrieving revision 1.85
  retrieving revision 1.86
  diff -u -r1.85 -r1.86
  --- build.xml 29 Jun 2003 01:02:21 -0000      1.85
  +++ build.xml 29 Jun 2003 21:11:39 -0000      1.86
  @@ -120,6 +120,11 @@
       <include name="**/*.java"/>
       <exclude name="**/*${ignore_this}"/>
     </patternset>
  +  
  +  <patternset id="graphics-configuration-source">
  +    <include name="org/apache/fop/svg/GraphicsConfiguration.java"/>
  +  </patternset>
  +  
   
     <!-- =================================================================== -->
     <!-- Initialization target                                               -->
  @@ -216,14 +221,10 @@
       <property name="ZapfDingbats.xml" value="${build.codegen}/ZapfDingbats.xml"/>
       <property name="Symbol.xml" value="${build.codegen}/Symbol.xml"/>
   
  -    <property name="trax" value="TraxTransform.java"/>
  -    <property name="xsltransform" value="XSLTransform.java"/>
  -
       <property name="tools.pkg" value="org/apache/fop/tools"/>
   
       <property name="main.class" value="org.apache.fop.apps.Fop"/>
   
  -    <filter filtersfile="${build.codegen}/filter" />
     </target>
   
     <target name="init-avail">
  @@ -260,17 +261,21 @@
         </not>
       </condition>
       <echo message="${jce.message}"/>
  -    <available property="jdk14.present" classname="java.lang.CharSequence"/>
  +    <available property="jdk14.present" classname="java.awt.image.VolatileImage"/>
     </target>
   
     <target name="init-filters-jdk13" depends="init-avail" unless="jdk14.present">
  -    <echo message="JDK 1.3 or earlier present."/>
  -    <copy file="src/codegen/jdk13.filter" toFile="build/src/codegen/filter"/>
  +    <echo message="Use GraphicsConfiguration adapter for JDK 1.3 or earlier."/>
  +    <path id="graphics-configuration-adapter">
  +      <pathelement location="src/java-1.3"/>
  +    </path>
     </target>
   
     <target name="init-filters-jdk14" depends="init-avail" if="jdk14.present">
  -    <echo message="JDK 1.4 present."/>
  -    <copy file="src/codegen/jdk14.filter" toFile="build/src/codegen/filter"/>
  +    <echo message="Use GraphicsConfiguration adapter for JDK 1.4."/>
  +    <path id="graphics-configuration-adapter">
  +      <pathelement location="src/java-1.4"/>
  +    </path>
     </target>
   
     <!-- =================================================================== -->
  @@ -301,7 +306,7 @@
       <echo message="Resetting codegen directory"/>
   
       <!-- copy codegen directory -->
  -    <copy todir="${build.codegen}" filtering="on">
  +    <copy todir="${build.codegen}">
         <fileset dir="${src.codegen}"/>
       </copy>
   
  @@ -397,14 +402,6 @@
       <style in="${ZapfDingbats.xml}" style="${fontfile.xsl}"
           out="${build.gensrc}/${replacestring}/fonts/base14/ZapfDingbats.java"/>
   
  -    <!-- prepare JDK dependant files -->
  -    <copy todir="${build.gensrc}" filtering="on">
  -      <mapper type="glob" from="*.javat" to="*.java"/>
  -      <fileset dir="${src.java}">
  -        <include name="**/*.javat"/>
  -      </fileset>
  -    </copy>
  -
     </target>
   
     <!-- =================================================================== -->
  @@ -432,6 +429,8 @@
         <patternset refid="exclude-jimi"/>
         <classpath refid="libs-build-classpath"/>
         <patternset refid="base-sources"/>
  +      <src refid="graphics-configuration-adapter"/>
  +      <patternset refid="graphics-configuration-source"/>
       </javac>
     </target>
   
  
  
  
  1.1                  
xml-fop/src/java-1.3/org/apache/fop/svg/GraphicsConfiguration.java
  
  Index: GraphicsConfiguration.java
  ===================================================================
  /*
   * $Id: GraphicsConfiguration.java,v 1.1 2003/06/29 21:11:39 pietsch 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.svg;
  /**
   * Adapter to allow subclassing java.awt.GraphicsConfiguration without
   * compilation errors.
   * The version for JDK 1.3 is just empty. 
   * 
   */
  abstract public class GraphicsConfiguration extends java.awt.GraphicsConfiguration {
  
  
  }
  
  
  

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

Reply via email to