X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=site%2Fswingjs%2Fj2s%2Fjssun%2Fawt%2FSunGraphicsCallback.js;fp=site%2Fswingjs%2Fj2s%2Fjssun%2Fawt%2FSunGraphicsCallback.js;h=6bfe7c9419e57cdb7c242095922bc19f7f2505c9;hb=4231d40261fef32ce4570a6bbad0d35df44e8baf;hp=0000000000000000000000000000000000000000;hpb=c07eb2c5794833bd0241000d6844d783fe10cb82;p=jalview.git diff --git a/site/swingjs/j2s/jssun/awt/SunGraphicsCallback.js b/site/swingjs/j2s/jssun/awt/SunGraphicsCallback.js new file mode 100644 index 0000000..6bfe7c9 --- /dev/null +++ b/site/swingjs/j2s/jssun/awt/SunGraphicsCallback.js @@ -0,0 +1,67 @@ +Clazz.declarePackage ("jssun.awt"); +Clazz.load (null, "jssun.awt.SunGraphicsCallback", ["java.awt.Container", "$.Graphics2D", "jssun.awt.ConstrainableGraphics", "$.Graphics2Delegate"], function () { +c$ = Clazz.declareType (jssun.awt, "SunGraphicsCallback"); +Clazz.defineMethod (c$, "constrainGraphics", +function (g, bounds) { +if (Clazz.instanceOf (g, jssun.awt.ConstrainableGraphics)) { +(g).constrain (bounds.x, bounds.y, bounds.width, bounds.height); +} else { +g.translate (bounds.x, bounds.y); +}g.clipRect (0, 0, bounds.width, bounds.height); +}, "java.awt.Graphics,java.awt.Rectangle"); +Clazz.defineMethod (c$, "runOneComponent", +function (comp, bounds, g, clip, weightFlags) { +if (comp == null || !comp.isLightweight () || !comp.isVisible ()) { +return; +}var lightweight = comp.isLightweight (); +if ((lightweight && (weightFlags & 2) == 0) || (!lightweight && (weightFlags & 1) == 0)) { +return; +}if (bounds == null) { +bounds = comp.getBounds (); +}if (clip == null || clip.intersects (bounds)) { +var cg = g.createSwingJS (); +try { +this.constrainGraphics (cg, bounds); +cg.setFont (comp.getFont ()); +cg.setColor (comp.getForeground ()); +if (Clazz.instanceOf (cg, java.awt.Graphics2D)) { +(cg).setBackground (comp.getBackground ()); +} else if (Clazz.instanceOf (cg, jssun.awt.Graphics2Delegate)) { +(cg).setBackground (comp.getBackground ()); +}this.run (comp, cg); +} finally { +cg.dispose (); +} +}}, "java.awt.Component,java.awt.Rectangle,java.awt.Graphics,java.awt.Shape,~N"); +Clazz.defineMethod (c$, "runComponents", +function (comps, g, weightFlags) { +var ncomponents = comps.length; +var clip = g.getClip (); +for (var i = ncomponents - 1; i >= 0; i--) { +this.runOneComponent (comps[i], null, g, clip, weightFlags); +} +}, "~A,java.awt.Graphics,~N"); +Clazz.pu$h(self.c$); +c$ = Clazz.declareType (jssun.awt.SunGraphicsCallback, "PaintHeavyweightComponentsCallback", jssun.awt.SunGraphicsCallback); +Clazz.makeConstructor (c$, + function () { +Clazz.superConstructor (this, jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback, []); +}); +Clazz.overrideMethod (c$, "run", +function (a, b) { +if (!a.isLightweight ()) { +a.paintAll (b); +} else if (Clazz.instanceOf (a, java.awt.Container)) { +this.runComponents ((a).getComponents (), b, 3); +}}, "java.awt.Component,java.awt.Graphics"); +c$.getInstance = Clazz.defineMethod (c$, "getInstance", +function () { +return jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback.instance; +}); +c$.instance = c$.prototype.instance = new jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback (); +c$ = Clazz.p0p (); +Clazz.defineStatics (c$, +"HEAVYWEIGHTS", 0x1, +"LIGHTWEIGHTS", 0x2, +"TWO_PASSES", 0x4); +});