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 hi...@apache.org on 2002/02/13 14:47:44 UTC
cvs commit: xml-batik/sources/org/apache/batik/bridge ScriptingEnvironment.java
hillion 02/02/13 05:47:44
Modified: sources/org/apache/batik/bridge ScriptingEnvironment.java
Log:
Modified the 'setTimeout' behavior: the pause is now done by the forked
scripting thread, and a repaint is no more forced.
Revision Changes Path
1.4 +37 -12 xml-batik/sources/org/apache/batik/bridge/ScriptingEnvironment.java
Index: ScriptingEnvironment.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/ScriptingEnvironment.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ScriptingEnvironment.java 12 Feb 2002 15:14:37 -0000 1.3
+++ ScriptingEnvironment.java 13 Feb 2002 13:47:44 -0000 1.4
@@ -28,7 +28,7 @@
* This class contains the informations needed by the SVG scripting.
*
* @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: ScriptingEnvironment.java,v 1.3 2002/02/12 15:14:37 tkormann Exp $
+ * @version $Id: ScriptingEnvironment.java,v 1.4 2002/02/13 13:47:44 hillion Exp $
*/
public class ScriptingEnvironment {
@@ -113,12 +113,12 @@
return parameters;
}
public Object call(Object[] args) {
- pauseScript(((Long)args[1]).longValue());
Object[] fargs = new Object[args.length - 2];
for (int i = 0; i < fargs.length; i++) {
fargs[i] = args[i + 2];
}
- runFunction((String)args[0], fargs, lang);
+ runFunction((String)args[0], fargs, lang,
+ ((Long)args[1]).longValue());
return null;
}
};
@@ -134,8 +134,11 @@
/**
* Runs a function.
*/
- public void runFunction(String function, Object[] args, String lang) {
- new FunctionCallThread(function, args, lang).start();
+ public void runFunction(String function,
+ Object[] args,
+ String lang,
+ long delay) {
+ new FunctionCallThread(function, args, lang, delay).start();
}
/**
@@ -250,7 +253,11 @@
*/
public void run() {
if (interpreter != null) {
- beginScript();
+ try {
+ beginScript();
+ } catch (StopScriptException e) {
+ return;
+ }
try {
interpreter.evaluate(getScript());
@@ -262,11 +269,10 @@
if (userAgent != null) {
userAgent.displayError((ex != null) ? ex : ie);
}
- } finally {
- try {
- endScript();
- } catch (StopScriptException e) {
- }
+ }
+ try {
+ endScript();
+ } catch (StopScriptException e) {
}
}
}
@@ -284,14 +290,33 @@
protected class FunctionCallThread extends ScriptingThread {
protected String function;
protected Object[] arguments;
+ protected long delay;
/**
* Creates a new FunctionCallThread.
*/
- public FunctionCallThread(String fname, Object[] args, String lang) {
+ public FunctionCallThread(String fname,
+ Object[] args,
+ String lang,
+ long delay) {
super(lang);
function = fname;
arguments = args;
+ this.delay = delay;
+ }
+
+ /**
+ * The main method.
+ */
+ public void run() {
+ if (delay > 0) {
+ try {
+ sleep(delay);
+ } catch (InterruptedException e) {
+ return;
+ }
+ }
+ super.run();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org