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