You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by de...@apache.org on 2004/09/23 12:18:07 UTC

cvs commit: xml-batik/sources/org/apache/batik/util XMLResourceDescriptor.java

deweese     2004/09/23 03:18:07

  Modified:    sources/org/apache/batik/bridge BridgeEventSupport.java
               sources/org/apache/batik/dom/svg SAXSVGDocumentFactory.java
               sources/org/apache/batik/extension/svg
                        MultiResGraphicsNode.java
               sources/org/apache/batik/gvt CompositeGraphicsNode.java
               sources/org/apache/batik/transcoder/image
                        JPEGTranscoder.java PNGTranscoder.java
                        TIFFTranscoder.java
               sources/org/apache/batik/util XMLResourceDescriptor.java
  Log:
  1) DOM keypress events will now be generated for so called
     Java 'action' keyEvents (previously only keydown/up were
     generated).
  2) Parser Properties resource file is no longer loaded through
     the localization interfaces
  3) Some cleanup of stream handling in the Transcoders.
  
  Revision  Changes    Path
  1.55      +6 -1      xml-batik/sources/org/apache/batik/bridge/BridgeEventSupport.java
  
  Index: BridgeEventSupport.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/BridgeEventSupport.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- BridgeEventSupport.java	18 Aug 2004 07:12:30 -0000	1.54
  +++ BridgeEventSupport.java	23 Sep 2004 10:18:05 -0000	1.55
  @@ -124,6 +124,11 @@
                   isDown = true;
                   dispatchKeyEvent("keydown", evt);
               }
  +            if (evt.getKeyChar() == KeyEvent.CHAR_UNDEFINED) {
  +                // We will not get a KEY_TYPED event for this char
  +                // so generate a keypress event here.
  +                dispatchKeyEvent("keypress", evt);
  +            }
           }
   
           /**
  
  
  
  1.25      +1 -3      xml-batik/sources/org/apache/batik/dom/svg/SAXSVGDocumentFactory.java
  
  Index: SAXSVGDocumentFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/dom/svg/SAXSVGDocumentFactory.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- SAXSVGDocumentFactory.java	27 Aug 2004 00:42:06 -0000	1.24
  +++ SAXSVGDocumentFactory.java	23 Sep 2004 10:18:06 -0000	1.25
  @@ -23,9 +23,7 @@
   import java.io.StringReader;
   import java.net.MalformedURLException;
   import java.net.URL;
  -import java.util.Locale;
   import java.util.MissingResourceException;
  -import java.util.ResourceBundle;
   
   import java.util.Properties;
   
  
  
  
  1.12      +4 -3      xml-batik/sources/org/apache/batik/extension/svg/MultiResGraphicsNode.java
  
  Index: MultiResGraphicsNode.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/extension/svg/MultiResGraphicsNode.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- MultiResGraphicsNode.java	18 Aug 2004 07:14:22 -0000	1.11
  +++ MultiResGraphicsNode.java	23 Sep 2004 10:18:06 -0000	1.12
  @@ -116,11 +116,13 @@
           if (idx == -1)
               idx = minIdx;
           gn = getGraphicsNode(idx);
  -
           if (gn == null) return;
  +
           // This makes sure that the image 'pushes out' to it's pixel
           // bounderies.
           Rectangle2D gnBounds = gn.getBounds();
  +        if (gnBounds == null) return;
  +
           double gnDevW = gnBounds.getWidth()*scx;
           double gnDevH = gnBounds.getHeight()*scy;
           double gnDevX = gnBounds.getX()*scx;
  @@ -212,7 +214,6 @@
       }
   
       public GraphicsNode getGraphicsNode(int idx) {
  -        // System.err.println("Getting: " + idx);
           if (srcs[idx] != null) {
               Object o = srcs[idx].get();
               if (o != null) 
  
  
  
  1.38      +28 -27    xml-batik/sources/org/apache/batik/gvt/CompositeGraphicsNode.java
  
  Index: CompositeGraphicsNode.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/CompositeGraphicsNode.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- CompositeGraphicsNode.java	18 Aug 2004 07:14:25 -0000	1.37
  +++ CompositeGraphicsNode.java	23 Sep 2004 10:18:06 -0000	1.38
  @@ -180,35 +180,36 @@
        * Returns the bounds of the area covered by this node's primitive paint.
        */
       public Rectangle2D getPrimitiveBounds() {
  -        if (primitiveBounds == null) {
  -            int i=0;
  -            Rectangle2D bounds = null;
  -            while ((bounds == null) && i < count) {
  -                bounds = children[i++].getTransformedBounds(IDENTITY);
  -            }
  -            if (bounds == null) return null;
  -            primitiveBounds = bounds;
  +        if (primitiveBounds != null) 
  +            return primitiveBounds;
   
  -            Rectangle2D ctb = null;
  -            while (i < count) {
  -                ctb = children[i++].getTransformedBounds(IDENTITY);
  -                if (ctb != null) {
  -                    if (primitiveBounds == null) {
  -                        // another thread has set the primitive bounds to null,
  -                        // need to recall this function
  -                        return null;
  -                    } else {
  -                        primitiveBounds.add(ctb);
  -                    }
  +        int i=0;
  +        Rectangle2D bounds = null;
  +        while ((bounds == null) && i < count) {
  +            bounds = children[i++].getTransformedBounds(IDENTITY);
  +        }
  +        if (bounds == null) return null;
  +        primitiveBounds = bounds;
  +        
  +        Rectangle2D ctb = null;
  +        while (i < count) {
  +            ctb = children[i++].getTransformedBounds(IDENTITY);
  +            if (ctb != null) {
  +                if (primitiveBounds == null) {
  +                    // another thread has set the primitive bounds to null,
  +                    // need to recall this function
  +                    return null;
  +                } else {
  +                    primitiveBounds.add(ctb);
                   }
               }
  -
  -            // Make sure we haven't been interrupted
  -            if (Thread.currentThread().isInterrupted()) {
  -                // The Thread has been interrupted.
  -                // Invalidate any cached values and proceed.
  -                invalidateGeometryCache();
  -            }
  +        }
  +        
  +        // Make sure we haven't been interrupted
  +        if (Thread.currentThread().isInterrupted()) {
  +            // The Thread has been interrupted.
  +            // Invalidate any cached values and proceed.
  +            invalidateGeometryCache();
           }
           return primitiveBounds;
       }
  
  
  
  1.10      +19 -11    xml-batik/sources/org/apache/batik/transcoder/image/JPEGTranscoder.java
  
  Index: JPEGTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/JPEGTranscoder.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JPEGTranscoder.java	18 Aug 2004 07:15:43 -0000	1.9
  +++ JPEGTranscoder.java	23 Sep 2004 10:18:06 -0000	1.10
  @@ -73,24 +73,32 @@
               throw new TranscoderException(
                   Messages.formatMessage("jpeg.badoutput", null));
           }
  -        float quality;
  -        if (hints.containsKey(KEY_QUALITY)) {
  -            quality = ((Float)hints.get(KEY_QUALITY)).floatValue();
  -        } else {
  -            handler.error(new TranscoderException(
  -                Messages.formatMessage("jpeg.unspecifiedQuality", null)));
  -            quality = 1f;
  -        }
  +
           try {
  -            JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(ostream);
  -            JPEGEncodeParam params = JPEGCodec.getDefaultJPEGEncodeParam(img);
  +            float quality;
  +            if (hints.containsKey(KEY_QUALITY)) {
  +                quality = ((Float)hints.get(KEY_QUALITY)).floatValue();
  +            } else {
  +                TranscoderException te;
  +                te = new TranscoderException
  +                    (Messages.formatMessage("jpeg.unspecifiedQuality", null));
  +                handler.error(te);
  +                quality = .75f;
  +            }
  +
  +            JPEGImageEncoder jpegEncoder;
  +            JPEGEncodeParam params;
  +            jpegEncoder = JPEGCodec.createJPEGEncoder(ostream);
  +            params      = JPEGCodec.getDefaultJPEGEncodeParam(img);
               params.setQuality(quality, true);
  +
               float PixSzMM = userAgent.getPixelUnitToMillimeter();
               int PixSzInch = (int)(25.4/PixSzMM+0.5);
               params.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
               params.setXDensity(PixSzInch);
               params.setYDensity(PixSzInch);
               jpegEncoder.encode(img, params);
  +            ostream.flush();
           } catch (IOException ex) {
               throw new TranscoderException(ex);
           }
  
  
  
  1.22      +2 -2      xml-batik/sources/org/apache/batik/transcoder/image/PNGTranscoder.java
  
  Index: PNGTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/PNGTranscoder.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- PNGTranscoder.java	18 Aug 2004 07:15:43 -0000	1.21
  +++ PNGTranscoder.java	23 Sep 2004 10:18:07 -0000	1.22
  @@ -153,7 +153,7 @@
           try {
               PNGImageEncoder pngEncoder = new PNGImageEncoder(ostream, params);
               pngEncoder.encode(img);
  -            ostream.close();
  +            ostream.flush();
           } catch (IOException ex) {
               throw new TranscoderException(ex);
           }
  
  
  
  1.8       +1 -2      xml-batik/sources/org/apache/batik/transcoder/image/TIFFTranscoder.java
  
  Index: TIFFTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/TIFFTranscoder.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TIFFTranscoder.java	9 Aug 2003 16:58:45 -0000	1.7
  +++ TIFFTranscoder.java	23 Sep 2004 10:18:07 -0000	1.8
  @@ -195,7 +195,6 @@
               RenderedImage rimg = new FormatRed(GraphicsUtil.wrap(img), sm);
               tiffEncoder.encode(rimg);
           } catch (IOException ex) {
  -            ex.printStackTrace();
               throw new TranscoderException(ex);
           }
       }
  
  
  
  1.5       +24 -9     xml-batik/sources/org/apache/batik/util/XMLResourceDescriptor.java
  
  Index: XMLResourceDescriptor.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/util/XMLResourceDescriptor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XMLResourceDescriptor.java	8 Aug 2003 11:39:26 -0000	1.4
  +++ XMLResourceDescriptor.java	23 Sep 2004 10:18:07 -0000	1.5
  @@ -50,8 +50,10 @@
   
   package org.apache.batik.util;
   
  -import java.util.Locale;
  -import java.util.ResourceBundle;
  +import java.io.InputStream;
  +import java.io.IOException;
  +import java.util.Properties;
  +import java.util.MissingResourceException;
   
   /**
    * This class describes the XML resources needed to use the various batik
  @@ -78,12 +80,12 @@
        * The resources file name
        */
       public final static String RESOURCES =
  -        "org.apache.batik.util.resources.XMLResourceDescriptor";
  +        "resources/XMLResourceDescriptor.properties";
   
       /**
        * The resource bundle
        */
  -    protected static ResourceBundle bundle;
  +    protected static Properties parserProps = null;;
   
       /**
        * The class name of the XML parser to use.
  @@ -95,8 +97,19 @@
        */
       protected static String cssParserClassName;
   
  -    static {
  -        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
  +    protected static synchronized Properties getParserProps() {
  +        if (parserProps != null) return parserProps;
  +
  +        parserProps = new Properties();
  +        try { 
  +            Class cls = XMLResourceDescriptor.class;
  +            InputStream is = cls.getResourceAsStream(RESOURCES);
  +            parserProps.load(is);
  +        } catch (IOException ioe) { 
  +            throw new MissingResourceException(ioe.getMessage(),
  +                                               RESOURCES, null); 
  +        }
  +        return parserProps;
       }
   
       /**
  @@ -109,7 +122,8 @@
        */
       public static String getXMLParserClassName() {
           if (xmlParserClassName == null) {
  -            xmlParserClassName = bundle.getString(XML_PARSER_CLASS_NAME_KEY);
  +            xmlParserClassName = getParserProps().getProperty
  +                (XML_PARSER_CLASS_NAME_KEY);
           }
           return xmlParserClassName;
       }
  @@ -135,7 +149,8 @@
        */
       public static String getCSSParserClassName() {
           if (cssParserClassName == null) {
  -            cssParserClassName = bundle.getString(CSS_PARSER_CLASS_NAME_KEY);
  +            cssParserClassName = getParserProps().getProperty
  +                (CSS_PARSER_CLASS_NAME_KEY);
           }
           return cssParserClassName;
       }
  
  
  

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