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]