Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / javax / swing / RepaintManager.js
index 819dd4d..2480244 100644 (file)
-Clazz.declarePackage ("javax.swing");\r
-Clazz.load (["java.util.HashMap", "java.awt.Rectangle"], "javax.swing.RepaintManager", ["java.lang.StringBuffer", "$.Thread", "java.util.ArrayList", "$.HashSet", "$.IdentityHashMap", "java.applet.Applet", "java.awt.Frame", "$.Toolkit", "$.Window", "java.awt.event.InvocationEvent", "javax.swing.CellRendererPane", "$.JComponent", "$.SwingUtilities", "jssun.awt.AWTAccessor", "$.AppContext", "$.SunToolkit", "swingjs.JSToolkit"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.volatileMap = null;\r
-this.hwDirtyComponents = null;\r
-this.dirtyComponents = null;\r
-this.tmpDirtyComponents = null;\r
-this.invalidComponents = null;\r
-this.runnableList = null;\r
-this.paintDepth = 0;\r
-this.painting = false;\r
-this.repaintRoot = null;\r
-this.paintThread = null;\r
-this.processingRunnable = null;\r
-this.myComponent = null;\r
-this.tmp = null;\r
-if (!Clazz.isClassDefined ("javax.swing.RepaintManager.ProcessingRunnable")) {\r
-javax.swing.RepaintManager.$RepaintManager$ProcessingRunnable$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing, "RepaintManager");\r
-Clazz.prepareFields (c$, function () {\r
-this.volatileMap =  new java.util.HashMap (1);\r
-this.tmp =  new java.awt.Rectangle ();\r
-});\r
-c$.currentManager = Clazz.defineMethod (c$, "currentManager", \r
-function (c) {\r
-var appContext = jssun.awt.AppContext.getAppContext ();\r
-var rm = appContext.get (javax.swing.RepaintManager.repaintManagerKey);\r
-if (rm == null) {\r
-rm =  new javax.swing.RepaintManager ();\r
-rm.set (c);\r
-appContext.put (javax.swing.RepaintManager.repaintManagerKey, rm);\r
-}return rm;\r
-}, "java.awt.Component");\r
-c$.setCurrentManager = Clazz.defineMethod (c$, "setCurrentManager", \r
-function (aRepaintManager) {\r
-if (aRepaintManager != null) {\r
-javax.swing.SwingUtilities.appContextPut (javax.swing.RepaintManager.repaintManagerKey, aRepaintManager);\r
-} else {\r
-javax.swing.SwingUtilities.appContextRemove (javax.swing.RepaintManager.repaintManagerKey);\r
-}}, "javax.swing.RepaintManager");\r
-Clazz.makeConstructor (c$, \r
- function () {\r
-this.processingRunnable = Clazz.innerTypeInstance (javax.swing.RepaintManager.ProcessingRunnable, this, null);\r
-});\r
-Clazz.defineMethod (c$, "set", \r
- function (c) {\r
-this.myComponent = c;\r
-this.dirtyComponents =  new java.util.IdentityHashMap ();\r
-this.tmpDirtyComponents =  new java.util.IdentityHashMap ();\r
-this.hwDirtyComponents =  new java.util.IdentityHashMap ();\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "addInvalidComponent", \r
-function (invalidComponent) {\r
-var validateRoot = null;\r
-for (var c = invalidComponent; c != null; c = c.getParent ()) {\r
-if ((Clazz.instanceOf (c, javax.swing.CellRendererPane))) {\r
-return;\r
-}if ((Clazz.instanceOf (c, javax.swing.JComponent)) && ((c).isValidateRoot ())) {\r
-validateRoot = c;\r
-break;\r
-}}\r
-if (validateRoot == null) {\r
-return;\r
-}var root = null;\r
-for (var c = validateRoot; c != null; c = c.getParent ()) {\r
-if (!c.isVisible ()) {\r
-return;\r
-}if ((Clazz.instanceOf (c, java.awt.Window)) || (Clazz.instanceOf (c, java.applet.Applet))) {\r
-root = c;\r
-break;\r
-}}\r
-if (root == null) {\r
-return;\r
-}if (this.invalidComponents == null) {\r
-this.invalidComponents =  new java.util.ArrayList ();\r
-} else {\r
-var n = this.invalidComponents.size ();\r
-for (var i = 0; i < n; i++) {\r
-if (validateRoot === this.invalidComponents.get (i)) {\r
-return;\r
-}}\r
-}this.invalidComponents.add (validateRoot);\r
-this.scheduleProcessingRunnable (root);\r
-}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "removeInvalidComponent", \r
-function (component) {\r
-if (this.invalidComponents != null) {\r
-var index = this.invalidComponents.indexOf (component);\r
-if (index != -1) {\r
-this.invalidComponents.remove (index);\r
-}}}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "addDirtyRegion0", \r
- function (c, x, y, w, h) {\r
-{\r
-var g = c.getGraphics();\r
-if (g == null || g.gc == null)return;\r
-}if ((w <= 0) || (h <= 0) || (c == null)) {\r
-return;\r
-}if ((c.getWidth () <= 0) || (c.getHeight () <= 0)) {\r
-return;\r
-}if (this.extendDirtyRegion (c, x, y, w, h)) {\r
-return;\r
-}var root = null;\r
-for (var p = c; p != null; p = p.getParent ()) {\r
-if (!p.isVisible () || p.getPeer () == null) {\r
-return;\r
-}if ((Clazz.instanceOf (p, java.awt.Window)) || (Clazz.instanceOf (p, java.applet.Applet))) {\r
-if (Clazz.instanceOf (p, java.awt.Frame) && ((p).getExtendedState () & 1) == 1) {\r
-return;\r
-}root = p;\r
-break;\r
-}}\r
-if (root == null) return;\r
-{\r
-if (this.extendDirtyRegion (c, x, y, w, h)) {\r
-return;\r
-}this.dirtyComponents.put (c,  new java.awt.Rectangle (x, y, w, h));\r
-}this.scheduleProcessingRunnable (c);\r
-}, "java.awt.Container,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "addDirtyRegion", \r
-function (c, x, y, w, h) {\r
-this.addDirtyRegion0 (c, x, y, w, h);\r
-}, "javax.swing.JComponent,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "addDirtyRegion", \r
-function (window, x, y, w, h) {\r
-this.addDirtyRegion0 (window, x, y, w, h);\r
-}, "java.awt.Window,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "addDirtyRegion", \r
-function (applet, x, y, w, h) {\r
-this.addDirtyRegion0 (applet, x, y, w, h);\r
-}, "java.applet.Applet,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "scheduleHeavyWeightPaints", \r
-function () {\r
-var hws;\r
-{\r
-if (this.hwDirtyComponents.size () == 0) {\r
-return;\r
-}hws = this.hwDirtyComponents;\r
-this.hwDirtyComponents =  new java.util.IdentityHashMap ();\r
-}for (var hw, $hw = hws.keySet ().iterator (); $hw.hasNext () && ((hw = $hw.next ()) || true);) {\r
-var dirty = hws.get (hw);\r
-if (Clazz.instanceOf (hw, java.awt.Window)) {\r
-this.addDirtyRegion (hw, dirty.x, dirty.y, dirty.width, dirty.height);\r
-} else if (Clazz.instanceOf (hw, java.applet.Applet)) {\r
-this.addDirtyRegion (hw, dirty.x, dirty.y, dirty.width, dirty.height);\r
-} else {\r
-this.addDirtyRegion0 (hw, dirty.x, dirty.y, dirty.width, dirty.height);\r
-}}\r
-});\r
-Clazz.defineMethod (c$, "nativeAddDirtyRegion", \r
-function (appContext, c, x, y, w, h) {\r
-if (w > 0 && h > 0) {\r
-{\r
-var dirty = this.hwDirtyComponents.get (c);\r
-if (dirty == null) {\r
-this.hwDirtyComponents.put (c,  new java.awt.Rectangle (x, y, w, h));\r
-} else {\r
-this.hwDirtyComponents.put (c, javax.swing.SwingUtilities.computeUnion (x, y, w, h, dirty));\r
-}}this.scheduleProcessingRunnable (appContext);\r
-}}, "jssun.awt.AppContext,java.awt.Container,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "extendDirtyRegion", \r
- function (c, x, y, w, h) {\r
-var r = this.dirtyComponents.get (c);\r
-if (r != null) {\r
-javax.swing.SwingUtilities.computeUnion (x, y, w, h, r);\r
-return true;\r
-}return false;\r
-}, "java.awt.Component,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "getDirtyRegion", \r
-function (aComponent) {\r
-var r = null;\r
-{\r
-r = this.dirtyComponents.get (aComponent);\r
-}if (r == null) return  new java.awt.Rectangle (0, 0, 0, 0);\r
- else return  new java.awt.Rectangle (r);\r
-}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "markCompletelyDirty", \r
-function (aComponent) {\r
-this.addDirtyRegion (aComponent, 0, 0, 2147483647, 2147483647);\r
-}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "markCompletelyClean", \r
-function (aComponent) {\r
-{\r
-this.dirtyComponents.remove (aComponent);\r
-}}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "isCompletelyDirty", \r
-function (aComponent) {\r
-var r;\r
-r = this.getDirtyRegion (aComponent);\r
-if (r.width == 2147483647 && r.height == 2147483647) return true;\r
- else return false;\r
-}, "javax.swing.JComponent");\r
-Clazz.defineMethod (c$, "validateInvalidComponents", \r
-function () {\r
-var ic;\r
-{\r
-if (this.invalidComponents == null) {\r
-return;\r
-}ic = this.invalidComponents;\r
-this.invalidComponents = null;\r
-}var n = ic.size ();\r
-for (var i = 0; i < n; i++) {\r
-var c = ic.get (i);\r
-c.validate ();\r
-}\r
-});\r
-Clazz.defineMethod (c$, "prePaintDirtyRegions", \r
- function () {\r
-var dirtyComponents;\r
-var runnableList;\r
-{\r
-dirtyComponents = this.dirtyComponents;\r
-runnableList = this.runnableList;\r
-this.runnableList = null;\r
-}if (runnableList != null) {\r
-for (var runnable, $runnable = runnableList.iterator (); $runnable.hasNext () && ((runnable = $runnable.next ()) || true);) {\r
-runnable.run ();\r
-}\r
-}this.paintDirtyRegions ();\r
-if (dirtyComponents.size () > 0) {\r
-this.paintDirtyRegions1 (dirtyComponents);\r
-}});\r
-Clazz.defineMethod (c$, "updateWindows", \r
- function (dirtyComponents) {\r
-var toolkit = java.awt.Toolkit.getDefaultToolkit ();\r
-if (!(Clazz.instanceOf (toolkit, jssun.awt.SunToolkit) && (toolkit).needUpdateWindow ())) {\r
-return dirtyComponents;\r
-}var windows =  new java.util.HashSet ();\r
-var dirtyComps = dirtyComponents.keySet ();\r
-for (var it = dirtyComps.iterator (); it.hasNext (); ) {\r
-var dirty = it.next ();\r
-var window = Clazz.instanceOf (dirty, java.awt.Window) ? dirty : javax.swing.SwingUtilities.getWindowAncestor (dirty);\r
-if (window != null && !jssun.awt.AWTAccessor.getWindowAccessor ().isOpaque (window)) {\r
-it.remove ();\r
-windows.add (window);\r
-}}\r
-for (var window, $window = windows.iterator (); $window.hasNext () && ((window = $window.next ()) || true);) {\r
-jssun.awt.AWTAccessor.getWindowAccessor ().updateWindow (window, null);\r
-}\r
-return dirtyComponents;\r
-}, "java.util.Map");\r
-Clazz.defineMethod (c$, "paintDirtyRegions", \r
-function () {\r
-{\r
-var tmp = this.tmpDirtyComponents;\r
-this.tmpDirtyComponents = this.dirtyComponents;\r
-this.dirtyComponents = tmp;\r
-this.dirtyComponents.clear ();\r
-}this.paintDirtyRegions1 (this.tmpDirtyComponents);\r
-});\r
-Clazz.defineMethod (c$, "paintDirtyRegions1", \r
- function (tmpDirtyComponents) {\r
-if (tmpDirtyComponents.isEmpty ()) {\r
-return;\r
-}this.updateWindows (tmpDirtyComponents);\r
-var roots =  new java.util.ArrayList (tmpDirtyComponents.size ());\r
-for (var dirty, $dirty = tmpDirtyComponents.keySet ().iterator (); $dirty.hasNext () && ((dirty = $dirty.next ()) || true);) {\r
-this.collectDirtyComponents (tmpDirtyComponents, dirty, roots);\r
-}\r
-var count = roots.size ();\r
-this.painting = true;\r
-try {\r
-for (var j = 0; j < count; j++) {\r
-var i = j;\r
-var dirtyComponent = roots.get (j);\r
-var rect = tmpDirtyComponents.get (dirtyComponent);\r
-var localBoundsH = dirtyComponent.getHeight ();\r
-var localBoundsW = dirtyComponent.getWidth ();\r
-javax.swing.SwingUtilities.computeIntersection (0, 0, localBoundsW, localBoundsH, rect);\r
-if (Clazz.instanceOf (dirtyComponent, javax.swing.JComponent)) {\r
-(dirtyComponent).paintImmediately (rect.x, rect.y, rect.width, rect.height);\r
-} else if (dirtyComponent.isShowing ()) {\r
-var g = javax.swing.JComponent.safelyGetGraphics (dirtyComponent, dirtyComponent);\r
-if (g != null) {\r
-try {\r
-dirtyComponent.paint (g);\r
-} finally {\r
-g.dispose ();\r
-}\r
-}}if (this.repaintRoot != null) {\r
-this.adjustRoots (this.repaintRoot, roots, i + 1);\r
-count = roots.size ();\r
-this.repaintRoot.paintImmediately (0, 0, this.repaintRoot.getWidth (), this.repaintRoot.getHeight ());\r
-this.repaintRoot = null;\r
-}}\r
-} finally {\r
-this.painting = false;\r
-}\r
-tmpDirtyComponents.clear ();\r
-}, "java.util.Map");\r
-Clazz.defineMethod (c$, "adjustRoots", \r
- function (root, roots, index) {\r
-for (var i = roots.size () - 1; i >= index; i--) {\r
-var c = roots.get (i);\r
-for (; ; ) {\r
-if (c === root || c == null || !(Clazz.instanceOf (c, javax.swing.JComponent))) {\r
-break;\r
-}c = c.getParent ();\r
-}\r
-if (c === root) {\r
-roots.remove (i);\r
-}}\r
-}, "javax.swing.JComponent,java.util.List,~N");\r
-Clazz.defineMethod (c$, "collectDirtyComponents", \r
-function (dirtyComponents, dirtyComponent, roots) {\r
-var dx;\r
-var dy;\r
-var rootDx;\r
-var rootDy;\r
-var component;\r
-var rootDirtyComponent;\r
-var parent;\r
-component = rootDirtyComponent = dirtyComponent;\r
-var x = dirtyComponent.getX ();\r
-var y = dirtyComponent.getY ();\r
-var w = dirtyComponent.getWidth ();\r
-var h = dirtyComponent.getHeight ();\r
-dx = rootDx = 0;\r
-dy = rootDy = 0;\r
-this.tmp.setBounds (dirtyComponents.get (dirtyComponent));\r
-javax.swing.SwingUtilities.computeIntersection (0, 0, w, h, this.tmp);\r
-if (this.tmp.isEmpty ()) {\r
-return;\r
-}for (; ; ) {\r
-if (!(Clazz.instanceOf (component, javax.swing.JComponent))) break;\r
-parent = component.getParent ();\r
-if (parent == null) break;\r
-component = parent;\r
-dx += x;\r
-dy += y;\r
-this.tmp.setLocation (this.tmp.x + x, this.tmp.y + y);\r
-x = component.getX ();\r
-y = component.getY ();\r
-w = component.getWidth ();\r
-h = component.getHeight ();\r
-this.tmp = javax.swing.SwingUtilities.computeIntersection (0, 0, w, h, this.tmp);\r
-if (this.tmp.isEmpty ()) {\r
-return;\r
-}if (dirtyComponents.get (component) != null) {\r
-rootDirtyComponent = component;\r
-rootDx = dx;\r
-rootDy = dy;\r
-}}\r
-if (dirtyComponent !== rootDirtyComponent) {\r
-var r;\r
-this.tmp.setLocation (this.tmp.x + rootDx - dx, this.tmp.y + rootDy - dy);\r
-r = dirtyComponents.get (rootDirtyComponent);\r
-javax.swing.SwingUtilities.computeUnion (this.tmp.x, this.tmp.y, this.tmp.width, this.tmp.height, r);\r
-}if (!roots.contains (rootDirtyComponent)) roots.add (rootDirtyComponent);\r
-}, "java.util.Map,java.awt.Component,java.util.List");\r
-Clazz.overrideMethod (c$, "toString", \r
-function () {\r
-var sb =  new StringBuffer ();\r
-if (this.dirtyComponents != null) sb.append ("" + this.dirtyComponents);\r
-return sb.toString ();\r
-});\r
-Clazz.defineMethod (c$, "getOffscreenBuffer", \r
-function (c, proposedWidth, proposedHeight) {\r
-return null;\r
-}, "java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "getVolatileOffscreenBuffer", \r
-function (c, proposedWidth, proposedHeight) {\r
-var config = c.getGraphicsConfiguration ();\r
-var maxSize = this.getDoubleBufferMaximumSize ();\r
-var width = proposedWidth < 1 ? 1 : (proposedWidth > maxSize.width ? maxSize.width : proposedWidth);\r
-var height = proposedHeight < 1 ? 1 : (proposedHeight > maxSize.height ? maxSize.height : proposedHeight);\r
-var image = this.volatileMap.get (config);\r
-if (image == null || image.getWidth () < width || image.getHeight () < height) {\r
-if (image != null) {\r
-image.flush ();\r
-}image = config.createCompatibleVolatileImage (width, height);\r
-this.volatileMap.put (config, image);\r
-}return image;\r
-}, "java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "setDoubleBufferMaximumSize", \r
-function (d) {\r
-}, "java.awt.Dimension");\r
-Clazz.defineMethod (c$, "getDoubleBufferMaximumSize", \r
-function () {\r
-return null;\r
-});\r
-Clazz.defineMethod (c$, "setDoubleBufferingEnabled", \r
-function (aFlag) {\r
-}, "~B");\r
-Clazz.defineMethod (c$, "resetDoubleBuffer", \r
-function () {\r
-});\r
-Clazz.defineMethod (c$, "resetVolatileDoubleBuffer", \r
-function (gc) {\r
-var image = this.volatileMap.remove (gc);\r
-if (image != null) {\r
-image.flush ();\r
-}}, "java.awt.GraphicsConfiguration");\r
-Clazz.defineMethod (c$, "useVolatileDoubleBuffer", \r
-function () {\r
-return javax.swing.RepaintManager.volatileImageBufferEnabled;\r
-});\r
-Clazz.defineMethod (c$, "isPaintingThread", \r
- function () {\r
-return (Thread.currentThread () === this.paintThread);\r
-});\r
-Clazz.defineMethod (c$, "paint", \r
-function (paintingComponent, bufferComponent, g, x, y, w, h) {\r
-paintingComponent.paintToOffscreen (g, x, y, w, h, x + w, y + h);\r
-}, "javax.swing.JComponent,javax.swing.JComponent,java.awt.Graphics,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "beginPaint", \r
-function () {\r
-var multiThreadedPaint = false;\r
-var paintDepth = 0;\r
-var currentThread = Thread.currentThread ();\r
-{\r
-paintDepth = this.paintDepth;\r
-if (this.paintThread == null || currentThread === this.paintThread) {\r
-this.paintThread = currentThread;\r
-this.paintDepth++;\r
-} else {\r
-multiThreadedPaint = true;\r
-}}});\r
-Clazz.defineMethod (c$, "endPaint", \r
-function () {\r
-if (this.isPaintingThread ()) {\r
-}});\r
-Clazz.defineMethod (c$, "doubleBufferingChanged", \r
-function (rootPane) {\r
-}, "javax.swing.JRootPane");\r
-Clazz.defineMethod (c$, "scheduleProcessingRunnable", \r
- function (c) {\r
-this.scheduleProcessingRunnable (c.getAppContext ());\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "scheduleProcessingRunnable", \r
- function (context) {\r
-if (this.processingRunnable.markPending ()) {\r
-jssun.awt.SunToolkit.getSystemEventQueueImplPP (context).postEvent ( new java.awt.event.InvocationEvent (java.awt.Toolkit.getDefaultToolkit (), this.processingRunnable));\r
-}}, "jssun.awt.AppContext");\r
-c$.$RepaintManager$ProcessingRunnable$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.pending = false;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.RepaintManager, "ProcessingRunnable", null, Runnable);\r
-Clazz.defineMethod (c$, "markPending", \r
-function () {\r
-if (!this.pending) {\r
-this.pending = true;\r
-return true;\r
-}return false;\r
-});\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-{\r
-this.pending = false;\r
-}this.b$["javax.swing.RepaintManager"].scheduleHeavyWeightPaints ();\r
-this.b$["javax.swing.RepaintManager"].validateInvalidComponents ();\r
-this.b$["javax.swing.RepaintManager"].prePaintDirtyRegions ();\r
-swingjs.JSToolkit.forceRepaint (this.b$["javax.swing.RepaintManager"].myComponent);\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.defineStatics (c$,\r
-"HANDLE_TOP_LEVEL_PAINT", false);\r
-c$.repaintManagerKey = c$.prototype.repaintManagerKey = javax.swing.RepaintManager;\r
-Clazz.defineStatics (c$,\r
-"volatileImageBufferEnabled", true);\r
-{\r
-javax.swing.RepaintManager.volatileImageBufferEnabled = false;\r
-var headless = false;\r
-if (javax.swing.RepaintManager.volatileImageBufferEnabled && headless) {\r
-javax.swing.RepaintManager.volatileImageBufferEnabled = false;\r
-}javax.swing.RepaintManager.HANDLE_TOP_LEVEL_PAINT = true;\r
-}});\r
+Clazz.declarePackage ("javax.swing");
+Clazz.load (["java.util.HashMap", "java.awt.Rectangle"], "javax.swing.RepaintManager", ["java.lang.StringBuffer", "$.Thread", "java.util.ArrayList", "$.HashSet", "$.IdentityHashMap", "java.applet.Applet", "java.awt.Frame", "$.Toolkit", "$.Window", "java.awt.event.InvocationEvent", "javax.swing.CellRendererPane", "$.JComponent", "$.SwingUtilities", "jssun.awt.AWTAccessor", "$.AppContext", "$.SunToolkit", "swingjs.JSToolkit"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.volatileMap = null;
+this.hwDirtyComponents = null;
+this.dirtyComponents = null;
+this.tmpDirtyComponents = null;
+this.invalidComponents = null;
+this.runnableList = null;
+this.paintDepth = 0;
+this.painting = false;
+this.repaintRoot = null;
+this.paintThread = null;
+this.processingRunnable = null;
+this.myComponent = null;
+this.tmp = null;
+if (!Clazz.isClassDefined ("javax.swing.RepaintManager.ProcessingRunnable")) {
+javax.swing.RepaintManager.$RepaintManager$ProcessingRunnable$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing, "RepaintManager");
+Clazz.prepareFields (c$, function () {
+this.volatileMap =  new java.util.HashMap (1);
+this.tmp =  new java.awt.Rectangle ();
+});
+c$.currentManager = Clazz.defineMethod (c$, "currentManager", 
+function (c) {
+var appContext = jssun.awt.AppContext.getAppContext ();
+var rm = appContext.get (javax.swing.RepaintManager.repaintManagerKey);
+if (rm == null) {
+rm =  new javax.swing.RepaintManager ();
+rm.set (c);
+appContext.put (javax.swing.RepaintManager.repaintManagerKey, rm);
+}return rm;
+}, "java.awt.Component");
+c$.setCurrentManager = Clazz.defineMethod (c$, "setCurrentManager", 
+function (aRepaintManager) {
+if (aRepaintManager != null) {
+javax.swing.SwingUtilities.appContextPut (javax.swing.RepaintManager.repaintManagerKey, aRepaintManager);
+} else {
+javax.swing.SwingUtilities.appContextRemove (javax.swing.RepaintManager.repaintManagerKey);
+}}, "javax.swing.RepaintManager");
+Clazz.makeConstructor (c$, 
+ function () {
+this.processingRunnable = Clazz.innerTypeInstance (javax.swing.RepaintManager.ProcessingRunnable, this, null);
+});
+Clazz.defineMethod (c$, "set", 
+ function (c) {
+this.myComponent = c;
+this.dirtyComponents =  new java.util.IdentityHashMap ();
+this.tmpDirtyComponents =  new java.util.IdentityHashMap ();
+this.hwDirtyComponents =  new java.util.IdentityHashMap ();
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "addInvalidComponent", 
+function (invalidComponent) {
+var validateRoot = null;
+for (var c = invalidComponent; c != null; c = c.getParent ()) {
+if ((Clazz.instanceOf (c, javax.swing.CellRendererPane))) {
+return;
+}if ((Clazz.instanceOf (c, javax.swing.JComponent)) && ((c).isValidateRoot ())) {
+validateRoot = c;
+break;
+}}
+if (validateRoot == null) {
+return;
+}var root = null;
+for (var c = validateRoot; c != null; c = c.getParent ()) {
+if (!c.isVisible ()) {
+return;
+}if ((Clazz.instanceOf (c, java.awt.Window)) || (Clazz.instanceOf (c, java.applet.Applet))) {
+root = c;
+break;
+}}
+if (root == null) {
+return;
+}if (this.invalidComponents == null) {
+this.invalidComponents =  new java.util.ArrayList ();
+} else {
+var n = this.invalidComponents.size ();
+for (var i = 0; i < n; i++) {
+if (validateRoot === this.invalidComponents.get (i)) {
+return;
+}}
+}this.invalidComponents.add (validateRoot);
+this.scheduleProcessingRunnable (root);
+}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "removeInvalidComponent", 
+function (component) {
+if (this.invalidComponents != null) {
+var index = this.invalidComponents.indexOf (component);
+if (index != -1) {
+this.invalidComponents.remove (index);
+}}}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "addDirtyRegion0", 
+ function (c, x, y, w, h) {
+{
+var g = c.getGraphics();
+if (g == null || g.gc == null)return;
+}if ((w <= 0) || (h <= 0) || (c == null)) {
+return;
+}if ((c.getWidth () <= 0) || (c.getHeight () <= 0)) {
+return;
+}if (this.extendDirtyRegion (c, x, y, w, h)) {
+return;
+}var root = null;
+for (var p = c; p != null; p = p.getParent ()) {
+if (!p.isVisible () || p.getPeer () == null) {
+return;
+}if ((Clazz.instanceOf (p, java.awt.Window)) || (Clazz.instanceOf (p, java.applet.Applet))) {
+if (Clazz.instanceOf (p, java.awt.Frame) && ((p).getExtendedState () & 1) == 1) {
+return;
+}root = p;
+break;
+}}
+if (root == null) return;
+{
+if (this.extendDirtyRegion (c, x, y, w, h)) {
+return;
+}this.dirtyComponents.put (c,  new java.awt.Rectangle (x, y, w, h));
+}this.scheduleProcessingRunnable (c);
+}, "java.awt.Container,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "addDirtyRegion", 
+function (c, x, y, w, h) {
+this.addDirtyRegion0 (c, x, y, w, h);
+}, "javax.swing.JComponent,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "addDirtyRegion", 
+function (window, x, y, w, h) {
+this.addDirtyRegion0 (window, x, y, w, h);
+}, "java.awt.Window,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "addDirtyRegion", 
+function (applet, x, y, w, h) {
+this.addDirtyRegion0 (applet, x, y, w, h);
+}, "java.applet.Applet,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "scheduleHeavyWeightPaints", 
+function () {
+var hws;
+{
+if (this.hwDirtyComponents.size () == 0) {
+return;
+}hws = this.hwDirtyComponents;
+this.hwDirtyComponents =  new java.util.IdentityHashMap ();
+}for (var hw, $hw = hws.keySet ().iterator (); $hw.hasNext () && ((hw = $hw.next ()) || true);) {
+var dirty = hws.get (hw);
+if (Clazz.instanceOf (hw, java.awt.Window)) {
+this.addDirtyRegion (hw, dirty.x, dirty.y, dirty.width, dirty.height);
+} else if (Clazz.instanceOf (hw, java.applet.Applet)) {
+this.addDirtyRegion (hw, dirty.x, dirty.y, dirty.width, dirty.height);
+} else {
+this.addDirtyRegion0 (hw, dirty.x, dirty.y, dirty.width, dirty.height);
+}}
+});
+Clazz.defineMethod (c$, "nativeAddDirtyRegion", 
+function (appContext, c, x, y, w, h) {
+if (w > 0 && h > 0) {
+{
+var dirty = this.hwDirtyComponents.get (c);
+if (dirty == null) {
+this.hwDirtyComponents.put (c,  new java.awt.Rectangle (x, y, w, h));
+} else {
+this.hwDirtyComponents.put (c, javax.swing.SwingUtilities.computeUnion (x, y, w, h, dirty));
+}}this.scheduleProcessingRunnable (appContext);
+}}, "jssun.awt.AppContext,java.awt.Container,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "extendDirtyRegion", 
+ function (c, x, y, w, h) {
+var r = this.dirtyComponents.get (c);
+if (r != null) {
+javax.swing.SwingUtilities.computeUnion (x, y, w, h, r);
+return true;
+}return false;
+}, "java.awt.Component,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "getDirtyRegion", 
+function (aComponent) {
+var r = null;
+{
+r = this.dirtyComponents.get (aComponent);
+}if (r == null) return  new java.awt.Rectangle (0, 0, 0, 0);
+ else return  new java.awt.Rectangle (r);
+}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "markCompletelyDirty", 
+function (aComponent) {
+this.addDirtyRegion (aComponent, 0, 0, 2147483647, 2147483647);
+}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "markCompletelyClean", 
+function (aComponent) {
+{
+this.dirtyComponents.remove (aComponent);
+}}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "isCompletelyDirty", 
+function (aComponent) {
+var r;
+r = this.getDirtyRegion (aComponent);
+if (r.width == 2147483647 && r.height == 2147483647) return true;
+ else return false;
+}, "javax.swing.JComponent");
+Clazz.defineMethod (c$, "validateInvalidComponents", 
+function () {
+var ic;
+{
+if (this.invalidComponents == null) {
+return;
+}ic = this.invalidComponents;
+this.invalidComponents = null;
+}var n = ic.size ();
+for (var i = 0; i < n; i++) {
+var c = ic.get (i);
+c.validate ();
+}
+});
+Clazz.defineMethod (c$, "prePaintDirtyRegions", 
+ function () {
+var dirtyComponents;
+var runnableList;
+{
+dirtyComponents = this.dirtyComponents;
+runnableList = this.runnableList;
+this.runnableList = null;
+}if (runnableList != null) {
+for (var runnable, $runnable = runnableList.iterator (); $runnable.hasNext () && ((runnable = $runnable.next ()) || true);) {
+runnable.run ();
+}
+}this.paintDirtyRegions ();
+if (dirtyComponents.size () > 0) {
+this.paintDirtyRegions1 (dirtyComponents);
+}});
+Clazz.defineMethod (c$, "updateWindows", 
+ function (dirtyComponents) {
+var toolkit = java.awt.Toolkit.getDefaultToolkit ();
+if (!(Clazz.instanceOf (toolkit, jssun.awt.SunToolkit) && (toolkit).needUpdateWindow ())) {
+return dirtyComponents;
+}var windows =  new java.util.HashSet ();
+var dirtyComps = dirtyComponents.keySet ();
+for (var it = dirtyComps.iterator (); it.hasNext (); ) {
+var dirty = it.next ();
+var window = Clazz.instanceOf (dirty, java.awt.Window) ? dirty : javax.swing.SwingUtilities.getWindowAncestor (dirty);
+if (window != null && !jssun.awt.AWTAccessor.getWindowAccessor ().isOpaque (window)) {
+it.remove ();
+windows.add (window);
+}}
+for (var window, $window = windows.iterator (); $window.hasNext () && ((window = $window.next ()) || true);) {
+jssun.awt.AWTAccessor.getWindowAccessor ().updateWindow (window, null);
+}
+return dirtyComponents;
+}, "java.util.Map");
+Clazz.defineMethod (c$, "paintDirtyRegions", 
+function () {
+{
+var tmp = this.tmpDirtyComponents;
+this.tmpDirtyComponents = this.dirtyComponents;
+this.dirtyComponents = tmp;
+this.dirtyComponents.clear ();
+}this.paintDirtyRegions1 (this.tmpDirtyComponents);
+});
+Clazz.defineMethod (c$, "paintDirtyRegions1", 
+ function (tmpDirtyComponents) {
+if (tmpDirtyComponents.isEmpty ()) {
+return;
+}this.updateWindows (tmpDirtyComponents);
+var roots =  new java.util.ArrayList (tmpDirtyComponents.size ());
+for (var dirty, $dirty = tmpDirtyComponents.keySet ().iterator (); $dirty.hasNext () && ((dirty = $dirty.next ()) || true);) {
+this.collectDirtyComponents (tmpDirtyComponents, dirty, roots);
+}
+var count = roots.size ();
+this.painting = true;
+try {
+for (var j = 0; j < count; j++) {
+var i = j;
+var dirtyComponent = roots.get (j);
+var rect = tmpDirtyComponents.get (dirtyComponent);
+var localBoundsH = dirtyComponent.getHeight ();
+var localBoundsW = dirtyComponent.getWidth ();
+javax.swing.SwingUtilities.computeIntersection (0, 0, localBoundsW, localBoundsH, rect);
+if (Clazz.instanceOf (dirtyComponent, javax.swing.JComponent)) {
+(dirtyComponent).paintImmediately (rect.x, rect.y, rect.width, rect.height);
+} else if (dirtyComponent.isShowing ()) {
+var g = javax.swing.JComponent.safelyGetGraphics (dirtyComponent, dirtyComponent);
+if (g != null) {
+try {
+dirtyComponent.paint (g);
+} finally {
+g.dispose ();
+}
+}}if (this.repaintRoot != null) {
+this.adjustRoots (this.repaintRoot, roots, i + 1);
+count = roots.size ();
+this.repaintRoot.paintImmediately (0, 0, this.repaintRoot.getWidth (), this.repaintRoot.getHeight ());
+this.repaintRoot = null;
+}}
+} finally {
+this.painting = false;
+}
+tmpDirtyComponents.clear ();
+}, "java.util.Map");
+Clazz.defineMethod (c$, "adjustRoots", 
+ function (root, roots, index) {
+for (var i = roots.size () - 1; i >= index; i--) {
+var c = roots.get (i);
+for (; ; ) {
+if (c === root || c == null || !(Clazz.instanceOf (c, javax.swing.JComponent))) {
+break;
+}c = c.getParent ();
+}
+if (c === root) {
+roots.remove (i);
+}}
+}, "javax.swing.JComponent,java.util.List,~N");
+Clazz.defineMethod (c$, "collectDirtyComponents", 
+function (dirtyComponents, dirtyComponent, roots) {
+var dx;
+var dy;
+var rootDx;
+var rootDy;
+var component;
+var rootDirtyComponent;
+var parent;
+component = rootDirtyComponent = dirtyComponent;
+var x = dirtyComponent.getX ();
+var y = dirtyComponent.getY ();
+var w = dirtyComponent.getWidth ();
+var h = dirtyComponent.getHeight ();
+dx = rootDx = 0;
+dy = rootDy = 0;
+this.tmp.setBounds (dirtyComponents.get (dirtyComponent));
+javax.swing.SwingUtilities.computeIntersection (0, 0, w, h, this.tmp);
+if (this.tmp.isEmpty ()) {
+return;
+}for (; ; ) {
+if (!(Clazz.instanceOf (component, javax.swing.JComponent))) break;
+parent = component.getParent ();
+if (parent == null) break;
+component = parent;
+dx += x;
+dy += y;
+this.tmp.setLocation (this.tmp.x + x, this.tmp.y + y);
+x = component.getX ();
+y = component.getY ();
+w = component.getWidth ();
+h = component.getHeight ();
+this.tmp = javax.swing.SwingUtilities.computeIntersection (0, 0, w, h, this.tmp);
+if (this.tmp.isEmpty ()) {
+return;
+}if (dirtyComponents.get (component) != null) {
+rootDirtyComponent = component;
+rootDx = dx;
+rootDy = dy;
+}}
+if (dirtyComponent !== rootDirtyComponent) {
+var r;
+this.tmp.setLocation (this.tmp.x + rootDx - dx, this.tmp.y + rootDy - dy);
+r = dirtyComponents.get (rootDirtyComponent);
+javax.swing.SwingUtilities.computeUnion (this.tmp.x, this.tmp.y, this.tmp.width, this.tmp.height, r);
+}if (!roots.contains (rootDirtyComponent)) roots.add (rootDirtyComponent);
+}, "java.util.Map,java.awt.Component,java.util.List");
+Clazz.overrideMethod (c$, "toString", 
+function () {
+var sb =  new StringBuffer ();
+if (this.dirtyComponents != null) sb.append ("" + this.dirtyComponents);
+return sb.toString ();
+});
+Clazz.defineMethod (c$, "getOffscreenBuffer", 
+function (c, proposedWidth, proposedHeight) {
+return null;
+}, "java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "getVolatileOffscreenBuffer", 
+function (c, proposedWidth, proposedHeight) {
+var config = c.getGraphicsConfiguration ();
+var maxSize = this.getDoubleBufferMaximumSize ();
+var width = proposedWidth < 1 ? 1 : (proposedWidth > maxSize.width ? maxSize.width : proposedWidth);
+var height = proposedHeight < 1 ? 1 : (proposedHeight > maxSize.height ? maxSize.height : proposedHeight);
+var image = this.volatileMap.get (config);
+if (image == null || image.getWidth () < width || image.getHeight () < height) {
+if (image != null) {
+image.flush ();
+}image = config.createCompatibleVolatileImage (width, height);
+this.volatileMap.put (config, image);
+}return image;
+}, "java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "setDoubleBufferMaximumSize", 
+function (d) {
+}, "java.awt.Dimension");
+Clazz.defineMethod (c$, "getDoubleBufferMaximumSize", 
+function () {
+return null;
+});
+Clazz.defineMethod (c$, "setDoubleBufferingEnabled", 
+function (aFlag) {
+}, "~B");
+Clazz.defineMethod (c$, "resetDoubleBuffer", 
+function () {
+});
+Clazz.defineMethod (c$, "resetVolatileDoubleBuffer", 
+function (gc) {
+var image = this.volatileMap.remove (gc);
+if (image != null) {
+image.flush ();
+}}, "java.awt.GraphicsConfiguration");
+Clazz.defineMethod (c$, "useVolatileDoubleBuffer", 
+function () {
+return javax.swing.RepaintManager.volatileImageBufferEnabled;
+});
+Clazz.defineMethod (c$, "isPaintingThread", 
+ function () {
+return (Thread.currentThread () === this.paintThread);
+});
+Clazz.defineMethod (c$, "paint", 
+function (paintingComponent, bufferComponent, g, x, y, w, h) {
+paintingComponent.paintToOffscreen (g, x, y, w, h, x + w, y + h);
+}, "javax.swing.JComponent,javax.swing.JComponent,java.awt.Graphics,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "beginPaint", 
+function () {
+var multiThreadedPaint = false;
+var paintDepth = 0;
+var currentThread = Thread.currentThread ();
+{
+paintDepth = this.paintDepth;
+if (this.paintThread == null || currentThread === this.paintThread) {
+this.paintThread = currentThread;
+this.paintDepth++;
+} else {
+multiThreadedPaint = true;
+}}});
+Clazz.defineMethod (c$, "endPaint", 
+function () {
+if (this.isPaintingThread ()) {
+}});
+Clazz.defineMethod (c$, "doubleBufferingChanged", 
+function (rootPane) {
+}, "javax.swing.JRootPane");
+Clazz.defineMethod (c$, "scheduleProcessingRunnable", 
+ function (c) {
+this.scheduleProcessingRunnable (c.getAppContext ());
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "scheduleProcessingRunnable", 
+ function (context) {
+if (this.processingRunnable.markPending ()) {
+jssun.awt.SunToolkit.getSystemEventQueueImplPP (context).postEvent ( new java.awt.event.InvocationEvent (java.awt.Toolkit.getDefaultToolkit (), this.processingRunnable));
+}}, "jssun.awt.AppContext");
+c$.$RepaintManager$ProcessingRunnable$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.pending = false;
+Clazz.instantialize (this, arguments);
+}, javax.swing.RepaintManager, "ProcessingRunnable", null, Runnable);
+Clazz.defineMethod (c$, "markPending", 
+function () {
+if (!this.pending) {
+this.pending = true;
+return true;
+}return false;
+});
+Clazz.overrideMethod (c$, "run", 
+function () {
+{
+this.pending = false;
+}this.b$["javax.swing.RepaintManager"].scheduleHeavyWeightPaints ();
+this.b$["javax.swing.RepaintManager"].validateInvalidComponents ();
+this.b$["javax.swing.RepaintManager"].prePaintDirtyRegions ();
+swingjs.JSToolkit.forceRepaint (this.b$["javax.swing.RepaintManager"].myComponent);
+});
+c$ = Clazz.p0p ();
+};
+Clazz.defineStatics (c$,
+"HANDLE_TOP_LEVEL_PAINT", false);
+c$.repaintManagerKey = c$.prototype.repaintManagerKey = javax.swing.RepaintManager;
+Clazz.defineStatics (c$,
+"volatileImageBufferEnabled", true);
+{
+javax.swing.RepaintManager.volatileImageBufferEnabled = false;
+var headless = false;
+if (javax.swing.RepaintManager.volatileImageBufferEnabled && headless) {
+javax.swing.RepaintManager.volatileImageBufferEnabled = false;
+}javax.swing.RepaintManager.HANDLE_TOP_LEVEL_PAINT = true;
+}});