Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / jssun / awt / image / ImageFetcher.js
index 7871192..c1a64d6 100644 (file)
-Clazz.declarePackage ("jssun.awt.image");\r
-Clazz.load (["java.lang.Thread", "$.StringBuffer"], ["jssun.awt.image.FetcherInfo", "$.ImageFetcher"], ["java.util.Vector", "jssun.awt.AppContext"], function () {\r
-c$ = Clazz.declareType (jssun.awt.image, "ImageFetcher", Thread);\r
-Clazz.makeConstructor (c$, \r
- function (threadGroup, index) {\r
-Clazz.superConstructor (this, jssun.awt.image.ImageFetcher, [threadGroup, "Image Fetcher " + index]);\r
-this.setDaemon (true);\r
-}, "ThreadGroup,~N");\r
-c$.add = Clazz.defineMethod (c$, "add", \r
-function (src) {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-{\r
-if (!info.waitList.contains (src)) {\r
-info.waitList.addElement (src);\r
-if (info.numWaiting == 0 && info.numFetchers < info.fetchers.length) {\r
-jssun.awt.image.ImageFetcher.createFetchers (info);\r
-}info.waitList.notify ();\r
-}}}, "jssun.awt.image.ImageFetchable");\r
-c$.remove = Clazz.defineMethod (c$, "remove", \r
-function (src) {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-{\r
-if (info.waitList.contains (src)) {\r
-info.waitList.removeElement (src);\r
-}}}, "jssun.awt.image.ImageFetchable");\r
-c$.isFetcher = Clazz.defineMethod (c$, "isFetcher", \r
-function (t) {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-{\r
-for (var i = 0; i < info.fetchers.length; i++) {\r
-if (info.fetchers[i] === t) {\r
-return true;\r
-}}\r
-}return false;\r
-}, "Thread");\r
-c$.amFetcher = Clazz.defineMethod (c$, "amFetcher", \r
-function () {\r
-return jssun.awt.image.ImageFetcher.isFetcher (Thread.currentThread ());\r
-});\r
-c$.nextImage = Clazz.defineMethod (c$, "nextImage", \r
- function () {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-{\r
-var src = null;\r
-var end = System.currentTimeMillis () + 5000;\r
-while (src == null) {\r
-while (info.waitList.size () == 0) {\r
-var now = System.currentTimeMillis ();\r
-if (now >= end) {\r
-return null;\r
-}try {\r
-info.numWaiting++;\r
-info.waitList.wait (end - now);\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, InterruptedException)) {\r
-return null;\r
-} else {\r
-throw e;\r
-}\r
-} finally {\r
-info.numWaiting--;\r
-}\r
-}\r
-src = info.waitList.elementAt (0);\r
-info.waitList.removeElement (src);\r
-}\r
-return src;\r
-}});\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-try {\r
-this.fetchloop ();\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, Exception)) {\r
-e.printStackTrace ();\r
-} else {\r
-throw e;\r
-}\r
-} finally {\r
-{\r
-var me = Thread.currentThread ();\r
-for (var i = 0; i < info.fetchers.length; i++) {\r
-if (info.fetchers[i] === me) {\r
-info.fetchers[i] = null;\r
-info.numFetchers--;\r
-}}\r
-}}\r
-});\r
-Clazz.defineMethod (c$, "fetchloop", \r
- function () {\r
-var me = Thread.currentThread ();\r
-while (jssun.awt.image.ImageFetcher.isFetcher (me)) {\r
-Thread.interrupted ();\r
-me.setPriority (8);\r
-var src = jssun.awt.image.ImageFetcher.nextImage ();\r
-if (src == null) {\r
-return;\r
-}try {\r
-src.doFetch ();\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, Exception)) {\r
-System.err.println ("Uncaught error fetching image:");\r
-e.printStackTrace ();\r
-} else {\r
-throw e;\r
-}\r
-}\r
-jssun.awt.image.ImageFetcher.stoppingAnimation (me);\r
-}\r
-});\r
-c$.startingAnimation = Clazz.defineMethod (c$, "startingAnimation", \r
-function () {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-var me = Thread.currentThread ();\r
-{\r
-for (var i = 0; i < info.fetchers.length; i++) {\r
-if (info.fetchers[i] === me) {\r
-info.fetchers[i] = null;\r
-info.numFetchers--;\r
-me.setName ("Image Animator " + i);\r
-if (info.waitList.size () > info.numWaiting) {\r
-jssun.awt.image.ImageFetcher.createFetchers (info);\r
-}return;\r
-}}\r
-}me.setPriority (2);\r
-me.setName ("Image Animator");\r
-});\r
-c$.stoppingAnimation = Clazz.defineMethod (c$, "stoppingAnimation", \r
- function (me) {\r
-var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();\r
-{\r
-var index = -1;\r
-for (var i = 0; i < info.fetchers.length; i++) {\r
-if (info.fetchers[i] === me) {\r
-return;\r
-}if (info.fetchers[i] == null) {\r
-index = i;\r
-}}\r
-if (index >= 0) {\r
-info.fetchers[index] = me;\r
-info.numFetchers++;\r
-me.setName ("Image Fetcher " + index);\r
-return;\r
-}}}, "Thread");\r
-c$.createFetchers = Clazz.defineMethod (c$, "createFetchers", \r
- function (info) {\r
-var appContext = jssun.awt.AppContext.getAppContext ();\r
-var threadGroup = appContext.getThreadGroup ();\r
-var fetcherThreadGroup;\r
-try {\r
-if (threadGroup.getParent () != null) {\r
-fetcherThreadGroup = threadGroup;\r
-} else {\r
-threadGroup = Thread.currentThread ().getThreadGroup ();\r
-var parent = threadGroup.getParent ();\r
-while ((parent != null) && (parent.getParent () != null)) {\r
-threadGroup = parent;\r
-parent = threadGroup.getParent ();\r
-}\r
-fetcherThreadGroup = threadGroup;\r
-}} catch (e) {\r
-if (Clazz.exceptionOf (e, SecurityException)) {\r
-fetcherThreadGroup = appContext.getThreadGroup ();\r
-} else {\r
-throw e;\r
-}\r
-}\r
-var fetcherGroup = fetcherThreadGroup;\r
-for (var i = 0; i < info.fetchers.length; i++) {\r
-if (info.fetchers[i] == null) {\r
-info.fetchers[i] =  new jssun.awt.image.ImageFetcher (fetcherGroup, i);\r
-info.fetchers[i].start ();\r
-info.numFetchers++;\r
-break;\r
-}}\r
-return;\r
-}, "jssun.awt.image.FetcherInfo");\r
-Clazz.defineStatics (c$,\r
-"HIGH_PRIORITY", 8,\r
-"LOW_PRIORITY", 3,\r
-"ANIM_PRIORITY", 2,\r
-"TIMEOUT", 5000);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.fetchers = null;\r
-this.numFetchers = 0;\r
-this.numWaiting = 0;\r
-this.waitList = null;\r
-Clazz.instantialize (this, arguments);\r
-}, jssun.awt.image, "FetcherInfo");\r
-Clazz.makeConstructor (c$, \r
- function () {\r
-this.fetchers =  new Array (4);\r
-this.numFetchers = 0;\r
-this.numWaiting = 0;\r
-this.waitList =  new java.util.Vector ();\r
-});\r
-c$.getFetcherInfo = Clazz.defineMethod (c$, "getFetcherInfo", \r
-function () {\r
-var appContext = jssun.awt.AppContext.getAppContext ();\r
-{\r
-var info = appContext.get (jssun.awt.image.FetcherInfo.FETCHER_INFO_KEY);\r
-if (info == null) {\r
-info =  new jssun.awt.image.FetcherInfo ();\r
-appContext.put (jssun.awt.image.FetcherInfo.FETCHER_INFO_KEY, info);\r
-}return info;\r
-}});\r
-Clazz.defineStatics (c$,\r
-"MAX_NUM_FETCHERS_PER_APPCONTEXT", 4);\r
-c$.FETCHER_INFO_KEY = c$.prototype.FETCHER_INFO_KEY =  new StringBuffer ("FetcherInfo");\r
-});\r
+Clazz.declarePackage ("jssun.awt.image");
+Clazz.load (["java.lang.Thread", "$.StringBuffer"], ["jssun.awt.image.FetcherInfo", "$.ImageFetcher"], ["java.util.Vector", "jssun.awt.AppContext"], function () {
+c$ = Clazz.declareType (jssun.awt.image, "ImageFetcher", Thread);
+Clazz.makeConstructor (c$, 
+ function (threadGroup, index) {
+Clazz.superConstructor (this, jssun.awt.image.ImageFetcher, [threadGroup, "Image Fetcher " + index]);
+this.setDaemon (true);
+}, "ThreadGroup,~N");
+c$.add = Clazz.defineMethod (c$, "add", 
+function (src) {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+{
+if (!info.waitList.contains (src)) {
+info.waitList.addElement (src);
+if (info.numWaiting == 0 && info.numFetchers < info.fetchers.length) {
+jssun.awt.image.ImageFetcher.createFetchers (info);
+}info.waitList.notify ();
+}}}, "jssun.awt.image.ImageFetchable");
+c$.remove = Clazz.defineMethod (c$, "remove", 
+function (src) {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+{
+if (info.waitList.contains (src)) {
+info.waitList.removeElement (src);
+}}}, "jssun.awt.image.ImageFetchable");
+c$.isFetcher = Clazz.defineMethod (c$, "isFetcher", 
+function (t) {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+{
+for (var i = 0; i < info.fetchers.length; i++) {
+if (info.fetchers[i] === t) {
+return true;
+}}
+}return false;
+}, "Thread");
+c$.amFetcher = Clazz.defineMethod (c$, "amFetcher", 
+function () {
+return jssun.awt.image.ImageFetcher.isFetcher (Thread.currentThread ());
+});
+c$.nextImage = Clazz.defineMethod (c$, "nextImage", 
+ function () {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+{
+var src = null;
+var end = System.currentTimeMillis () + 5000;
+while (src == null) {
+while (info.waitList.size () == 0) {
+var now = System.currentTimeMillis ();
+if (now >= end) {
+return null;
+}try {
+info.numWaiting++;
+info.waitList.wait (end - now);
+} catch (e) {
+if (Clazz.exceptionOf (e, InterruptedException)) {
+return null;
+} else {
+throw e;
+}
+} finally {
+info.numWaiting--;
+}
+}
+src = info.waitList.elementAt (0);
+info.waitList.removeElement (src);
+}
+return src;
+}});
+Clazz.overrideMethod (c$, "run", 
+function () {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+try {
+this.fetchloop ();
+} catch (e) {
+if (Clazz.exceptionOf (e, Exception)) {
+e.printStackTrace ();
+} else {
+throw e;
+}
+} finally {
+{
+var me = Thread.currentThread ();
+for (var i = 0; i < info.fetchers.length; i++) {
+if (info.fetchers[i] === me) {
+info.fetchers[i] = null;
+info.numFetchers--;
+}}
+}}
+});
+Clazz.defineMethod (c$, "fetchloop", 
+ function () {
+var me = Thread.currentThread ();
+while (jssun.awt.image.ImageFetcher.isFetcher (me)) {
+Thread.interrupted ();
+me.setPriority (8);
+var src = jssun.awt.image.ImageFetcher.nextImage ();
+if (src == null) {
+return;
+}try {
+src.doFetch ();
+} catch (e) {
+if (Clazz.exceptionOf (e, Exception)) {
+System.err.println ("Uncaught error fetching image:");
+e.printStackTrace ();
+} else {
+throw e;
+}
+}
+jssun.awt.image.ImageFetcher.stoppingAnimation (me);
+}
+});
+c$.startingAnimation = Clazz.defineMethod (c$, "startingAnimation", 
+function () {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+var me = Thread.currentThread ();
+{
+for (var i = 0; i < info.fetchers.length; i++) {
+if (info.fetchers[i] === me) {
+info.fetchers[i] = null;
+info.numFetchers--;
+me.setName ("Image Animator " + i);
+if (info.waitList.size () > info.numWaiting) {
+jssun.awt.image.ImageFetcher.createFetchers (info);
+}return;
+}}
+}me.setPriority (2);
+me.setName ("Image Animator");
+});
+c$.stoppingAnimation = Clazz.defineMethod (c$, "stoppingAnimation", 
+ function (me) {
+var info = jssun.awt.image.FetcherInfo.getFetcherInfo ();
+{
+var index = -1;
+for (var i = 0; i < info.fetchers.length; i++) {
+if (info.fetchers[i] === me) {
+return;
+}if (info.fetchers[i] == null) {
+index = i;
+}}
+if (index >= 0) {
+info.fetchers[index] = me;
+info.numFetchers++;
+me.setName ("Image Fetcher " + index);
+return;
+}}}, "Thread");
+c$.createFetchers = Clazz.defineMethod (c$, "createFetchers", 
+ function (info) {
+var appContext = jssun.awt.AppContext.getAppContext ();
+var threadGroup = appContext.getThreadGroup ();
+var fetcherThreadGroup;
+try {
+if (threadGroup.getParent () != null) {
+fetcherThreadGroup = threadGroup;
+} else {
+threadGroup = Thread.currentThread ().getThreadGroup ();
+var parent = threadGroup.getParent ();
+while ((parent != null) && (parent.getParent () != null)) {
+threadGroup = parent;
+parent = threadGroup.getParent ();
+}
+fetcherThreadGroup = threadGroup;
+}} catch (e) {
+if (Clazz.exceptionOf (e, SecurityException)) {
+fetcherThreadGroup = appContext.getThreadGroup ();
+} else {
+throw e;
+}
+}
+var fetcherGroup = fetcherThreadGroup;
+for (var i = 0; i < info.fetchers.length; i++) {
+if (info.fetchers[i] == null) {
+info.fetchers[i] =  new jssun.awt.image.ImageFetcher (fetcherGroup, i);
+info.fetchers[i].start ();
+info.numFetchers++;
+break;
+}}
+return;
+}, "jssun.awt.image.FetcherInfo");
+Clazz.defineStatics (c$,
+"HIGH_PRIORITY", 8,
+"LOW_PRIORITY", 3,
+"ANIM_PRIORITY", 2,
+"TIMEOUT", 5000);
+c$ = Clazz.decorateAsClass (function () {
+this.fetchers = null;
+this.numFetchers = 0;
+this.numWaiting = 0;
+this.waitList = null;
+Clazz.instantialize (this, arguments);
+}, jssun.awt.image, "FetcherInfo");
+Clazz.makeConstructor (c$, 
+ function () {
+this.fetchers =  new Array (4);
+this.numFetchers = 0;
+this.numWaiting = 0;
+this.waitList =  new java.util.Vector ();
+});
+c$.getFetcherInfo = Clazz.defineMethod (c$, "getFetcherInfo", 
+function () {
+var appContext = jssun.awt.AppContext.getAppContext ();
+{
+var info = appContext.get (jssun.awt.image.FetcherInfo.FETCHER_INFO_KEY);
+if (info == null) {
+info =  new jssun.awt.image.FetcherInfo ();
+appContext.put (jssun.awt.image.FetcherInfo.FETCHER_INFO_KEY, info);
+}return info;
+}});
+Clazz.defineStatics (c$,
+"MAX_NUM_FETCHERS_PER_APPCONTEXT", 4);
+c$.FETCHER_INFO_KEY = c$.prototype.FETCHER_INFO_KEY =  new StringBuffer ("FetcherInfo");
+});