hillion     01/10/08 08:49:38

  Modified:    sources/org/apache/batik/apps/svgbrowser
                        JSVGViewerFrame.java
               sources/org/apache/batik/bridge GVTBuilder.java
                        UserAgent.java UserAgentAdapter.java
               sources/org/apache/batik/swing/svg JSVGComponent.java
                        SVGUserAgent.java
               sources/org/apache/batik/transcoder/image
                        ImageTranscoder.java
               sources/org/apache/batik/transcoder/print
                        PrintTranscoder.java
  Log:
  Added support for CSS @media rules in the browser (the canvas is a "screen"
  medium, the print button is a "print" medium) and the transcoders (they now
  have a KEY_MEDIA optional hint).
  
  Revision  Changes    Path
  1.53      +8 -1      
xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
  
  Index: JSVGViewerFrame.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- JSVGViewerFrame.java      2001/09/28 15:40:08     1.52
  +++ JSVGViewerFrame.java      2001/10/08 15:49:37     1.53
  @@ -153,7 +153,7 @@
    * This class represents a SVG viewer swing frame.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGViewerFrame.java,v 1.52 2001/09/28 15:40:08 hillion Exp $
  + * @version $Id: JSVGViewerFrame.java,v 1.53 2001/10/08 15:49:37 hillion Exp $
    */
   public class JSVGViewerFrame
       extends    JFrame
  @@ -1735,6 +1735,13 @@
            */
           public String getXMLParserClassName() {
               return application.getXMLParserClassName();
  +        }
  +
  +        /**
  +         * Returns this user agent's CSS media.
  +         */
  +        public String getMedia() {
  +            return "screen";
           }
   
           /**
  
  
  
  1.12      +10 -1     xml-batik/sources/org/apache/batik/bridge/GVTBuilder.java
  
  Index: GVTBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/GVTBuilder.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- GVTBuilder.java   2001/09/10 12:26:07     1.11
  +++ GVTBuilder.java   2001/10/08 15:49:37     1.12
  @@ -10,6 +10,8 @@
   
   import java.util.List;
   
  +import org.apache.batik.css.AbstractViewCSS;
  +
   import org.apache.batik.gvt.GraphicsNode;
   import org.apache.batik.gvt.CanvasGraphicsNode;
   import org.apache.batik.gvt.CompositeGraphicsNode;
  @@ -22,11 +24,13 @@
   import org.w3c.dom.Element;
   import org.w3c.dom.Node;
   
  +import org.w3c.dom.views.DocumentView;
  +
   /**
    * This class is responsible for creating a GVT tree using an SVG DOM tree.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: GVTBuilder.java,v 1.11 2001/09/10 12:26:07 hillion Exp $
  + * @version $Id: GVTBuilder.java,v 1.12 2001/10/08 15:49:37 hillion Exp $
    */
   public class GVTBuilder implements SVGConstants {
   
  @@ -44,6 +48,11 @@
        * the GVT tree
        */
       public GraphicsNode build(BridgeContext ctx, Document document) {
  +        // set the media type
  +        AbstractViewCSS view;
  +        view = (AbstractViewCSS)((DocumentView)document).getDefaultView();
  +        view.setMedia(ctx.getUserAgent().getMedia());
  +
           // inform the bridge context the builder to use
           ctx.setGVTBuilder(this);
   
  
  
  
  1.17      +6 -1      xml-batik/sources/org/apache/batik/bridge/UserAgent.java
  
  Index: UserAgent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/UserAgent.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- UserAgent.java    2001/08/03 16:33:42     1.16
  +++ UserAgent.java    2001/10/08 15:49:37     1.17
  @@ -24,7 +24,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christophe Jolif</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: UserAgent.java,v 1.16 2001/08/03 16:33:42 vhardy Exp $
  + * @version $Id: UserAgent.java,v 1.17 2001/10/08 15:49:37 hillion Exp $
    */
   public interface UserAgent {
   
  @@ -87,6 +87,11 @@
        * applied to the drawing by the UserAgent.
        */
       public AffineTransform getTransform();
  +
  +    /**
  +     * Returns this user agent's CSS media.
  +     */
  +    public String getMedia();
   
       /**
        * Returns the location on the screen of the
  
  
  
  1.4       +8 -1      xml-batik/sources/org/apache/batik/bridge/UserAgentAdapter.java
  
  Index: UserAgentAdapter.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/UserAgentAdapter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UserAgentAdapter.java     2001/08/03 16:33:42     1.3
  +++ UserAgentAdapter.java     2001/10/08 15:49:37     1.4
  @@ -31,7 +31,7 @@
    * the creation of UserAgent instances.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thomas DeWeese</a>
  - * @version $Id: UserAgentAdapter.java,v 1.3 2001/08/03 16:33:42 vhardy Exp $
  + * @version $Id: UserAgentAdapter.java,v 1.4 2001/10/08 15:49:37 hillion Exp $
    */
   public class UserAgentAdapter implements UserAgent {
       protected Set FEATURES = new HashSet();
  @@ -85,6 +85,13 @@
        */
       public String getLanguages() {
           return "en";
  +    }
  +
  +    /**
  +     * Returns this user agent's CSS media.
  +     */
  +    public String getMedia() {
  +        return "all";
       }
   
       /**
  
  
  
  1.27      +11 -1     xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java
  
  Index: JSVGComponent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- JSVGComponent.java        2001/09/18 21:19:01     1.26
  +++ JSVGComponent.java        2001/10/08 15:49:38     1.27
  @@ -152,7 +152,7 @@
    * building/rendering a document (invalid XML file, missing attributes...).</p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGComponent.java,v 1.26 2001/09/18 21:19:01 deweese Exp $
  + * @version $Id: JSVGComponent.java,v 1.27 2001/10/08 15:49:38 hillion Exp $
    */
   public class JSVGComponent extends JGVTComponent {
   
  @@ -916,6 +916,16 @@
            */
           public AffineTransform getTransform() {
               return JSVGComponent.this.renderingTransform;
  +        }
  +
  +        /**
  +         * Returns this user agent's CSS media.
  +         */
  +        public String getMedia() {
  +            if (svgUserAgent != null) {
  +                return svgUserAgent.getMedia();
  +            }
  +            return "screen";
           }
   
           /**
  
  
  
  1.5       +6 -1      xml-batik/sources/org/apache/batik/swing/svg/SVGUserAgent.java
  
  Index: SVGUserAgent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/SVGUserAgent.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGUserAgent.java 2001/08/03 16:33:43     1.4
  +++ SVGUserAgent.java 2001/10/08 15:49:38     1.5
  @@ -15,7 +15,7 @@
    * a JSVGComponent.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: SVGUserAgent.java,v 1.4 2001/08/03 16:33:43 vhardy Exp $
  + * @version $Id: SVGUserAgent.java,v 1.5 2001/10/08 15:49:38 hillion Exp $
    */
   public interface SVGUserAgent {
       
  @@ -55,6 +55,11 @@
        * Returns the class name of the XML parser.
        */
       String getXMLParserClassName();
  +
  +    /**
  +     * Returns this user agent's CSS media.
  +     */
  +    String getMedia();
   
       /**
        * Opens a link in a new component.
  
  
  
  1.30      +34 -1     
xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java
  
  Index: ImageTranscoder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- ImageTranscoder.java      2001/09/18 21:19:01     1.29
  +++ ImageTranscoder.java      2001/10/08 15:49:38     1.30
  @@ -102,7 +102,7 @@
    * millimeter conversion factor.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: ImageTranscoder.java,v 1.29 2001/09/18 21:19:01 deweese Exp $
  + * @version $Id: ImageTranscoder.java,v 1.30 2001/10/08 15:49:38 hillion Exp $
    */
   public abstract class ImageTranscoder extends XMLAbstractTranscoder {
   
  @@ -119,6 +119,8 @@
                     SVGConstants.SVG_SVG_TAG);
           hints.put(KEY_DOM_IMPLEMENTATION,
                     ExtensibleSVGDOMImplementation.getDOMImplementation());
  +        hints.put(KEY_MEDIA,
  +                  "screen");
       }
   
       /**
  @@ -389,6 +391,13 @@
           }
   
           /**
  +         * Returns this user agent's CSS media.
  +         */
  +        public String getMedia() {
  +            return (String)hints.get(KEY_MEDIA);
  +        }
  +
  +        /**
            * Unsupported operation.
            */
           public EventDispatcher getEventDispatcher() {
  @@ -566,6 +575,30 @@
        * </TABLE>
        */
       public static final TranscodingHints.Key KEY_LANGUAGE
  +        = new StringKey();
  +
  +    /**
  +     * The language key.
  +     * <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Key: </TH>
  +     * <TD VALIGN="TOP">KEY_MEDIA</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Value: </TH>
  +     * <TD VALIGN="TOP">String</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Default: </TH>
  +     * <TD VALIGN="TOP">"screen"</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Required: </TH>
  +     * <TD VALIGN="TOP">No</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Description: </TH>
  +     * <TD VALIGN="TOP">Specify the media to use with CSS.
  +     * </TD></TR>
  +     * </TABLE>
  +     */
  +    public static final TranscodingHints.Key KEY_MEDIA
           = new StringKey();
   
       /**
  
  
  
  1.16      +35 -1     
xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java
  
  Index: PrintTranscoder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- PrintTranscoder.java      2001/09/18 21:19:02     1.15
  +++ PrintTranscoder.java      2001/10/08 15:49:38     1.16
  @@ -109,7 +109,7 @@
    * </ul>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Hardy</a>
  - * @version $Id: PrintTranscoder.java,v 1.15 2001/09/18 21:19:02 deweese Exp $
  + * @version $Id: PrintTranscoder.java,v 1.16 2001/10/08 15:49:38 hillion Exp $
    */
   public class PrintTranscoder extends XMLAbstractTranscoder
       implements Printable {
  @@ -131,6 +131,7 @@
       public static final String KEY_USER_STYLESHEET_URI_STR = "userStylesheet";
       public static final String KEY_WIDTH_STR = "width";
       public static final String KEY_XML_PARSER_CLASSNAME_STR = "xmlParserClassName";
  +    public static final String VALUE_MEDIA_PRINT = "print";
       public static final String VALUE_PAGE_ORIENTATION_LANDSCAPE = "landscape";
       public static final String VALUE_PAGE_ORIENTATION_PORTRAIT  = "portrait";
       public static final String VALUE_PAGE_ORIENTATION_REVERSE_LANDSCAPE = 
"reverseLandscape";
  @@ -196,6 +197,8 @@
                     SVGConstants.SVG_SVG_TAG);
           hints.put(KEY_DOM_IMPLEMENTATION,
                     ExtensibleSVGDOMImplementation.getDOMImplementation());
  +        hints.put(KEY_MEDIA,
  +                  VALUE_MEDIA_PRINT);
       }
   
       public void transcode(TranscoderInput in,
  @@ -623,6 +626,30 @@
           = new StringKey();
   
       /**
  +     * The CSS media.
  +     * <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Key: </TH>
  +     * <TD VALIGN="TOP">KEY_MEDIA</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Value: </TH>
  +     * <TD VALIGN="TOP">String</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Default: </TH>
  +     * <TD VALIGN="TOP">"print"</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Required: </TH>
  +     * <TD VALIGN="TOP">No</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Description: </TH>
  +     * <TD VALIGN="TOP">Specify the media to use with CSS.
  +     * </TD></TR>
  +     * </TABLE>
  +     */
  +    public static final TranscodingHints.Key KEY_MEDIA
  +        = new StringKey();
  +
  +    /**
        * The user stylesheet URI key.
        * <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
        * <TR>
  @@ -809,6 +836,13 @@
               } else {
                   return XMLResourceDescriptor.getXMLParserClassName();
               }
  +        }
  +
  +        /**
  +         * Returns this user agent's CSS media.
  +         */
  +        public String getMedia() {
  +            return (String)hints.get(KEY_MEDIA);
           }
   
           /**
  
  
  

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

Reply via email to