Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / jssun / awt / SunGraphicsCallback.js
1 Clazz.declarePackage ("jssun.awt");
2 Clazz.load (null, "jssun.awt.SunGraphicsCallback", ["java.awt.Container", "$.Graphics2D", "jssun.awt.ConstrainableGraphics", "$.Graphics2Delegate"], function () {
3 c$ = Clazz.declareType (jssun.awt, "SunGraphicsCallback");
4 Clazz.defineMethod (c$, "constrainGraphics", 
5 function (g, bounds) {
6 if (Clazz.instanceOf (g, jssun.awt.ConstrainableGraphics)) {
7 (g).constrain (bounds.x, bounds.y, bounds.width, bounds.height);
8 } else {
9 g.translate (bounds.x, bounds.y);
10 }g.clipRect (0, 0, bounds.width, bounds.height);
11 }, "java.awt.Graphics,java.awt.Rectangle");
12 Clazz.defineMethod (c$, "runOneComponent", 
13 function (comp, bounds, g, clip, weightFlags) {
14 if (comp == null || !comp.isLightweight () || !comp.isVisible ()) {
15 return;
16 }var lightweight = comp.isLightweight ();
17 if ((lightweight && (weightFlags & 2) == 0) || (!lightweight && (weightFlags & 1) == 0)) {
18 return;
19 }if (bounds == null) {
20 bounds = comp.getBounds ();
21 }if (clip == null || clip.intersects (bounds)) {
22 var cg = g.createSwingJS ();
23 try {
24 this.constrainGraphics (cg, bounds);
25 cg.setFont (comp.getFont ());
26 cg.setColor (comp.getForeground ());
27 if (Clazz.instanceOf (cg, java.awt.Graphics2D)) {
28 (cg).setBackground (comp.getBackground ());
29 } else if (Clazz.instanceOf (cg, jssun.awt.Graphics2Delegate)) {
30 (cg).setBackground (comp.getBackground ());
31 }this.run (comp, cg);
32 } finally {
33 cg.dispose ();
34 }
35 }}, "java.awt.Component,java.awt.Rectangle,java.awt.Graphics,java.awt.Shape,~N");
36 Clazz.defineMethod (c$, "runComponents", 
37 function (comps, g, weightFlags) {
38 var ncomponents = comps.length;
39 var clip = g.getClip ();
40 for (var i = ncomponents - 1; i >= 0; i--) {
41 this.runOneComponent (comps[i], null, g, clip, weightFlags);
42 }
43 }, "~A,java.awt.Graphics,~N");
44 Clazz.pu$h(self.c$);
45 c$ = Clazz.declareType (jssun.awt.SunGraphicsCallback, "PaintHeavyweightComponentsCallback", jssun.awt.SunGraphicsCallback);
46 Clazz.makeConstructor (c$, 
47  function () {
48 Clazz.superConstructor (this, jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback, []);
49 });
50 Clazz.overrideMethod (c$, "run", 
51 function (a, b) {
52 if (!a.isLightweight ()) {
53 a.paintAll (b);
54 } else if (Clazz.instanceOf (a, java.awt.Container)) {
55 this.runComponents ((a).getComponents (), b, 3);
56 }}, "java.awt.Component,java.awt.Graphics");
57 c$.getInstance = Clazz.defineMethod (c$, "getInstance", 
58 function () {
59 return jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback.instance;
60 });
61 c$.instance = c$.prototype.instance =  new jssun.awt.SunGraphicsCallback.PaintHeavyweightComponentsCallback ();
62 c$ = Clazz.p0p ();
63 Clazz.defineStatics (c$,
64 "HEAVYWEIGHTS", 0x1,
65 "LIGHTWEIGHTS", 0x2,
66 "TWO_PASSES", 0x4);
67 });