1 Clazz.declarePackage ("jssun.swing");
\r
2 Clazz.load (["java.util.HashMap"], "jssun.swing.CachedPainter", ["java.awt.image.BufferedImage", "$.VolatileImage", "jssun.swing.ImageCache"], function () {
\r
3 c$ = Clazz.declareType (jssun.swing, "CachedPainter");
\r
4 c$.getCache = Clazz.defineMethod (c$, "getCache",
\r
7 var cache = jssun.swing.CachedPainter.cacheMap.get (key);
\r
9 cache = new jssun.swing.ImageCache (1);
\r
10 jssun.swing.CachedPainter.cacheMap.put (key, cache);
\r
13 Clazz.makeConstructor (c$,
\r
14 function (cacheCount) {
\r
15 jssun.swing.CachedPainter.getCache (this.getClass ()).setMaxCount (cacheCount);
\r
17 Clazz.defineMethod (c$, "paint",
\r
18 function (c, g, x, y, w, h, args) {
\r
19 if (w <= 0 || h <= 0) {
\r
22 this.paint0 (c, g, x, y, w, h, args);
\r
24 this.paint0 (c, g, x, y, w, h, args);
\r
25 }}, "java.awt.Component,java.awt.Graphics,~N,~N,~N,~N,~A");
\r
26 Clazz.defineMethod (c$, "paint0",
\r
27 function (c, g, x, y, w, h, args) {
\r
28 var key = this.getClass ();
\r
29 var config = this.getGraphicsConfiguration (c);
\r
30 var cache = jssun.swing.CachedPainter.getCache (key);
\r
31 var image = cache.getImage (key, config, w, h, args);
\r
35 if (Clazz.instanceOf (image, java.awt.image.VolatileImage)) {
\r
36 switch ((image).validate (config)) {
\r
45 }if (image == null) {
\r
46 image = this.createImage (c, w, h, config, args);
\r
47 cache.setImage (key, config, w, h, args, image);
\r
50 var g2 = image.getGraphics ();
\r
51 this.paintToImage (c, image, g2, w, h, args);
\r
53 }this.paintImage (c, g, x, y, w, h, image, args);
\r
54 } while ((Clazz.instanceOf (image, java.awt.image.VolatileImage)) && (image).contentsLost () && ++attempts < 3);
\r
55 }, "java.awt.Component,java.awt.Graphics,~N,~N,~N,~N,~A");
\r
56 Clazz.defineMethod (c$, "paintImage",
\r
57 function (c, g, x, y, w, h, image, args) {
\r
58 g.drawImage (image, x, y, null);
\r
59 }, "java.awt.Component,java.awt.Graphics,~N,~N,~N,~N,java.awt.Image,~A");
\r
60 Clazz.defineMethod (c$, "createImage",
\r
61 function (c, w, h, config, args) {
\r
62 if (config == null) {
\r
63 return new java.awt.image.BufferedImage (w, h, 1);
\r
64 }return config.createCompatibleVolatileImage (w, h);
\r
65 }, "java.awt.Component,~N,~N,java.awt.GraphicsConfiguration,~A");
\r
66 Clazz.defineMethod (c$, "flush",
\r
69 jssun.swing.CachedPainter.getCache (this.getClass ()).flush ();
\r
71 Clazz.defineMethod (c$, "getGraphicsConfiguration",
\r
75 }return c.getGraphicsConfiguration ();
\r
76 }, "java.awt.Component");
\r
77 c$.cacheMap = c$.prototype.cacheMap = new java.util.HashMap ();
\r