hillion 01/11/14 05:34:52 Modified: sources/org/apache/batik/apps/svgbrowser AboutDialog.java Main.java Added: resources/org/apache/batik/apps/svgbrowser/resources init.svg Log: The browser now has an initialization window. Revision Changes Path 1.1 xml-batik/resources/org/apache/batik/apps/svgbrowser/resources/init.svg Index: init.svg =================================================================== <?xml version="1.0" standalone="no"?> <!-- =================================================================== --> <!-- A dummy document used to preload classes. --> <!-- =================================================================== --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg width="100" height="100" viewBox="0 0 100 100"> <defs> <pattern id="backgroundPattern" patternUnits="userSpaceOnUse" x="0" y="0" width="20" height="10" style="overflow:hidden"> <rect x="0" y="0" width="10" height="10" fill="rgb(110, 200, 255)" fill-opacity=".5" /> <rect x="0" y="-5" width="8" height="20" fill="none" stroke="rgb(204, 102, 53)" stroke-width="1"/> </pattern> <g id="batik"> <path id="Batik_B" d="M50.037,12.141l0.463,3.236c0,1.465-0.039,2.484-0.115,3.063s-0.344,1.213-0.803,1.906l-1.834,3.234l-2.521,3.814c4.395,6.24,7.326,10.824,8.791,13.75l3.008,6.355l1.967,6.701c0.848,3.16,1.271,6.279,1.271,9.361 c0,5.008-0.869,9.57-2.604,13.691s-4.145,7.453-7.229,9.996c-3.086,2.543-6.998,4.449-11.74,5.719s-9.543,1.906-14.4,1.906c-3.855,0-7.096-0.27-9.717-0.809c-3.238-0.461-5.688-1.193-7.346-2.195c-1.658-1-3.123-2.195-4.395-3.582 C1.561,86.902,0.617,85.055,0,82.742c0-5.082,1.117-10.436,3.355-16.061l6.709-17.68c2.234-6.086,3.354-11.748,3.354-16.986c-0.232-2.156-0.617-4.197-1.156-6.123l-1.852-6.471c-0.695-2.311-2.121-5.008-4.279-8.09l-0.115-0.924V9.715 c0-3.158,1.309-5.238,3.928-6.24c4.775-1.232,9.859-1.85,15.252-1.85c6.316,0,11.746,0.828,16.291,2.484s7.395,4.334,8.551,8.031z M29.518,12.625c-0.846,0.461-1.268,1.189-1.268,2.186c0,0.691,0.326,1.668,0.979,2.934s1.096,2.434,1.326,3.506 c1.074-0.383,1.938-1.148,2.59-2.299s0.98-2.416,0.98-3.797c-0.23-0.842-0.787-1.512-1.67-2.012s-1.863-0.672-2.938-0.518z M30.537,33.979L29.496,45.66c0,0.617,0.203,1.119,0.609,1.504l1.826,0.463l2.193-0.463c0.645-0.23,1.363-1.039,2.152-2.428 c0.645-1.387,0.969-3.045,0.969-4.975V38.49c0-0.539-0.078-1.041-0.232-1.504c0-0.617-0.502-1.389-1.504-2.314c-1.004-0.77-1.967-1.156-2.891-1.156c-0.771,0-1.465,0.154-2.082,0.463z"/> </g> <filter id="shadow" filterRes="200" x="-.2" y="-.1"> <feGaussianBlur stdDeviation="3 3" /> <feOffset dx="-10" dy="10" /> </filter> <filter id="innerShadow" filterRes="500" x="-.2" y="0"> <feGaussianBlur stdDeviation="3 4" in="SourceAlpha"/> <feOffset dx="-10" dy="15" result="offsetShadow"/> <feComposite in2="SourceGraphic" in="offsetShadow" operator="out" /> </filter> <path id="Outer_Ellipse" style="stroke:none;" d="M453.747,104.22C333.581-15.897,157.944-35.015,61.45,61.516c-96.493,96.533-77.301,272.161,42.866,392.278C224.48,573.911,400.117,593.031,496.61,496.498c96.493-96.533,77.302-272.161-42.863-392.278z M461.486,454.618c-74.193,74.224-222.251,46.516-330.696-61.886C22.343,284.329-5.426,136.283,68.766,62.059c74.193-74.222,222.251-46.516,330.698,61.887c108.445,108.402,136.214,256.449,62.021,330.672z"/> <clipPath id="textClip"> <text x="0" y="0" text-anchor="middle" font-size="80%" font-family="Serif" id="text">batik <tspan dx="10 20 30" dy="10 20 30" style="stroke:#CC4">SVG</tspan></text> </clipPath> <g id="words"> <use xlink:href="#text"/> <g clip-path="url(#textClip)"> <use xlink:href="#text" transform="scale(0.9) rotate(20) translate(-20,-15)" filter="url(#shadow)" fill="black" opacity="0.4"/> </g> </g> <g opacity="1.0" transform="translate(225, 250) rotate(-260)" id="rotatedText"> <g transform="scale(0.9) rotate(20)"> <use xlink:href="#words"/> </g></g> <path id="Inner_Ellipse" style="stroke:none;" d="M399.464,123.946C291.018,15.543,142.959-12.163,68.766,62.059c-74.192,74.224-46.423,222.27,62.023,330.672c108.445,108.402,256.503,136.11,330.696,61.886c74.192-74.223,46.424-222.27-62.021-330.672z M410.417,397.331c-58.115,58.14-179.371,31.157-270.832-60.267C48.124,245.64,21.092,124.396,79.207,66.256c58.116-58.139,179.372-31.157,270.833,60.267c91.46,91.424,118.493,212.668,60.377,270.808z"/> </defs> <rect x="0" y="0" width="100%" height="100%" fill="rgb(13, 97, 160)" /> <g fill="rgb(255, 255, 20)"> <circle cx="50" cy="50" r="50"/> </g> <rect x="0" y="0" width="100%" height="100%" style="overflow:hidden; fill:url(#backgroundPattern)" /> <g filter="url(#innerShadow)" opacity=".5"> <use xlink:href="#Outer_Ellipse" fill-opacity="1"/> </g> <use xlink:href="#Outer_Ellipse" fill="rgb(13, 97, 160)" fill-opacity=".75"/> <use xlink:href="#Inner_Ellipse" fill="rgb(255, 255, 20)" fill-opacity=".75" /> <g transform="translate(50, 154) scale(1.5, 1.5)"> <use x="0" y="0" xlink:href="#batik" fill="black" fill-opacity=".5" filter="url(#shadow)"/> <use x="0" y="0" xlink:href="#batik" fill="none" stroke-width="8" stroke="rgb(13, 97, 160)"/> <use x="0" y="0" xlink:href="#batik" fill="rgb(255, 255, 20)" stroke="rgb(204, 102, 53)" stroke-width="1"/> </g> <use xlink:href="#rotatedText" fill="white" stroke-width="2" stroke="black"/> <g transform="translate(50, 50) scale(0.254) rotate(30)"> <use xlink:href="#text" fill="black" filter="url(#shadow)" opacity="0.4" transform="translate(-10, 8)"/> <use xlink:href="#text" stroke="black" stroke-width="16" fill="none"/> <use xlink:href="#text" stroke="none" fill="white"/> </g> </svg> 1.5 +18 -29 xml-batik/sources/org/apache/batik/apps/svgbrowser/AboutDialog.java Index: AboutDialog.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/AboutDialog.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- AboutDialog.java 2001/05/15 00:04:07 1.4 +++ AboutDialog.java 2001/11/14 13:34:52 1.5 @@ -43,7 +43,7 @@ * The dialog can be dismissed by click or by escaping. * * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Hardy</a> - * @version $Id: AboutDialog.java,v 1.4 2001/05/15 00:04:07 vhardy Exp $ + * @version $Id: AboutDialog.java,v 1.5 2001/11/14 13:34:52 hillion Exp $ */ public class AboutDialog extends JWindow implements GridBagConstants{ @@ -74,7 +74,22 @@ public AboutDialog(Frame owner){ super(owner); buildGUI(); - setLocationRelativeTo(owner); + + addKeyListener(new KeyAdapter(){ + public void keyPressed(KeyEvent e){ + if(e.getKeyCode() == KeyEvent.VK_ESCAPE){ + setVisible(false); + dispose(); + } + } + }); + + addMouseListener(new MouseAdapter(){ + public void mousePressed(MouseEvent e){ + setVisible(false); + dispose(); + } + }); } public void setLocationRelativeTo(Frame f) { @@ -147,22 +162,6 @@ setBackground(Color.white); getContentPane().setBackground(Color.white); - addKeyListener(new KeyAdapter(){ - public void keyPressed(KeyEvent e){ - if(e.getKeyCode() == KeyEvent.VK_ESCAPE){ - setVisible(false); - dispose(); - } - } - }); - - addMouseListener(new MouseAdapter(){ - public void mousePressed(MouseEvent e){ - setVisible(false); - dispose(); - } - }); - JPanel p = new JPanel(new BorderLayout()); p.setBackground(Color.white); p.add(panel, BorderLayout.CENTER); @@ -176,7 +175,7 @@ p.add(contributors, BorderLayout.SOUTH); - p.setBorder + ((JComponent)getContentPane()).setBorder (BorderFactory.createCompoundBorder (BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.gray, Color.black), BorderFactory.createCompoundBorder @@ -185,16 +184,6 @@ BorderFactory.createLineBorder(Color.black)), BorderFactory.createEmptyBorder(10, 10, 10, 10)))); - // getContentPane().setLayout(new FlowLayout()); getContentPane().add(p); - - // pack(); - // pack(); // This is not a mistake but a work-around. - // The layout is not done properly on the first pack(); - } - - public static void main(String args[]){ - AboutDialog dlg = new AboutDialog(); - dlg.setVisible(true); } } 1.22 +57 -2 xml-batik/sources/org/apache/batik/apps/svgbrowser/Main.java Index: Main.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/Main.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- Main.java 2001/10/24 14:52:35 1.21 +++ Main.java 2001/11/14 13:34:52 1.22 @@ -8,6 +8,7 @@ package org.apache.batik.apps.svgbrowser; +import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; @@ -30,12 +31,21 @@ import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JOptionPane; +import javax.swing.JProgressBar; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import org.apache.batik.css.CSSDocumentHandler; +import org.apache.batik.swing.JSVGCanvas; +import org.apache.batik.swing.gvt.GVTTreeRendererAdapter; +import org.apache.batik.swing.gvt.GVTTreeRendererEvent; +import org.apache.batik.swing.svg.GVTTreeBuilderAdapter; +import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter; +import org.apache.batik.swing.svg.SVGDocumentLoaderEvent; +import org.apache.batik.swing.svg.GVTTreeBuilderEvent; + import org.apache.batik.util.PreferenceManager; import org.apache.batik.util.XMLResourceDescriptor; @@ -45,7 +55,7 @@ * This class contains the main method of an SVG viewer. * * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a> - * @version $Id: Main.java,v 1.21 2001/10/24 14:52:35 tkormann Exp $ + * @version $Id: Main.java,v 1.22 2001/11/14 13:34:52 hillion Exp $ */ public class Main implements Application { @@ -54,7 +64,7 @@ * @param args The command-line arguments. */ public static void main(String[] args) { - new Main(args).run(); + new Main(args); } /** @@ -125,6 +135,8 @@ CSSDocumentHandler.setParserClassName (resources.getString(CSS_PARSER_CLASS_NAME_KEY)); + // Preferences + // Map defaults = new HashMap(11); defaults.put(PreferenceDialog.PREFERENCE_KEY_LANGUAGES, @@ -159,6 +171,49 @@ setPreferences(); } catch (Exception e) { } + + // Initialization + // + final AboutDialog initDialog = new AboutDialog(); + final JProgressBar pb = new JProgressBar(0, 4); + initDialog.getContentPane().add("South", pb); + + // Work around pack() bug on some platforms + Dimension ss = initDialog.getToolkit().getScreenSize(); + Dimension ds = initDialog.getPreferredSize(); + + initDialog.setLocation((ss.width - ds.width) / 2, + (ss.height - ds.height) / 2); + + initDialog.setSize(ds); + initDialog.setVisible(true); + + final JSVGViewerFrame v = new JSVGViewerFrame(this); + JSVGCanvas c = v.getJSVGCanvas(); + c.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() { + public void documentLoadingStarted(SVGDocumentLoaderEvent e) { + pb.setValue(1); + } + public void documentLoadingCompleted(SVGDocumentLoaderEvent e) { + pb.setValue(2); + } + }); + c.addGVTTreeBuilderListener(new GVTTreeBuilderAdapter() { + public void gvtBuildCompleted(GVTTreeBuilderEvent e) { + pb.setValue(3); + } + }); + c.addGVTTreeRendererListener(new GVTTreeRendererAdapter() { + public void gvtRenderingCompleted(GVTTreeRendererEvent e) { + pb.setValue(4); + initDialog.dispose(); + v.dispose(); + System.gc(); + run(); + } + }); + c.setSize(100, 100); + c.loadSVGDocument(Main.class.getResource("resources/init.svg").toString()); } /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]