1 Clazz.declarePackage ("jssun.awt");
2 Clazz.load (["java.awt.Toolkit", "jssun.awt.ComponentFactory", "$.WindowClosingListener", "$.WindowClosingSupport", "java.util.HashMap"], "jssun.awt.SunToolkit", ["java.lang.NullPointerException", "$.Thread", "java.awt.Component", "$.Dimension", "$.EventQueue", "$.Panel", "$.Window", "jssun.awt.AWTAccessor", "$.AWTAutoShutdown", "$.AppContext", "$.PeerEvent", "$.PostEventQueue", "jssun.font.FontDesignMetrics"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.windowClosingListener = null;
5 Clazz.instantialize (this, arguments);
6 }, jssun.awt, "SunToolkit", java.awt.Toolkit, [jssun.awt.WindowClosingSupport, jssun.awt.WindowClosingListener, jssun.awt.ComponentFactory]);
7 Clazz.makeConstructor (c$,
9 Clazz.superConstructor (this, jssun.awt.SunToolkit, []);
11 eventQueue = new java.awt.EventQueue ();
12 var appContext = jssun.awt.AppContext.getAppContext ();
13 if (appContext != null) {
14 appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, eventQueue);
15 var postEventQueue = new jssun.awt.PostEventQueue (eventQueue);
16 appContext.put ("PostEventQueue", postEventQueue);
18 Clazz.defineMethod (c$, "useBufferPerWindow",
22 c$.createNewAppContext = Clazz.defineMethod (c$, "createNewAppContext",
24 var threadGroup = Thread.currentThread ().getThreadGroup ();
25 return jssun.awt.SunToolkit.createNewAppContext (threadGroup);
27 c$.createNewAppContext = Clazz.defineMethod (c$, "createNewAppContext",
28 function (threadGroup) {
30 var eqName = System.getProperty ("AWT.EventQueueClass", "java.awt.EventQueue");
32 eventQueue = Clazz._4Name (eqName).newInstance ();
34 if (Clazz.exceptionOf (e, Exception)) {
35 System.err.println ("Failed loading " + eqName + ": " + e);
36 eventQueue = new java.awt.EventQueue ();
41 var appContext = new jssun.awt.AppContext (threadGroup);
42 appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, eventQueue);
43 var postEventQueue = new jssun.awt.PostEventQueue (eventQueue);
44 appContext.put ("PostEventQueue", postEventQueue);
47 c$.wakeupEventQueue = Clazz.defineMethod (c$, "wakeupEventQueue",
48 function (q, isShutdown) {
49 q.wakeup (isShutdown);
50 }, "java.awt.EventQueue,~B");
51 c$.targetToPeer = Clazz.defineMethod (c$, "targetToPeer",
54 return jssun.awt.AWTAutoShutdown.getInstance ().getPeer (target);
57 c$.targetCreatedPeer = Clazz.defineMethod (c$, "targetCreatedPeer",
58 function (target, peer) {
59 if (target != null && peer != null) {
60 jssun.awt.AWTAutoShutdown.getInstance ().registerPeer (target, peer);
62 c$.targetDisposedPeer = Clazz.defineMethod (c$, "targetDisposedPeer",
63 function (target, peer) {
64 if (target != null && peer != null) {
65 jssun.awt.AWTAutoShutdown.getInstance ().unregisterPeer (target, peer);
67 c$.setAppContext = Clazz.defineMethod (c$, "setAppContext",
68 function (target, context) {
69 if (Clazz.instanceOf (target, java.awt.Component)) {
70 jssun.awt.AWTAccessor.getComponentAccessor ().setAppContext (target, context);
74 }, "~O,jssun.awt.AppContext");
75 c$.getAppContext = Clazz.defineMethod (c$, "getAppContext",
77 if (Clazz.instanceOf (target, java.awt.Component)) {
79 return target.appContext;
83 c$.targetToAppContext = Clazz.defineMethod (c$, "targetToAppContext",
87 }var context = jssun.awt.SunToolkit.getAppContext (target);
88 if (context == null) {
89 context = jssun.awt.SunToolkit.appContextMap.get (target);
92 c$.setLWRequestStatus = Clazz.defineMethod (c$, "setLWRequestStatus",
93 function (changed, status) {
94 jssun.awt.AWTAccessor.getWindowAccessor ().setLWRequestStatus (changed, status);
95 }, "java.awt.Window,~B");
96 c$.checkAndSetPolicy = Clazz.defineMethod (c$, "checkAndSetPolicy",
97 function (cont, isSwingCont) {
98 }, "java.awt.Container,~B");
99 c$.insertTargetMapping = Clazz.defineMethod (c$, "insertTargetMapping",
100 function (target, appContext) {
101 if (!jssun.awt.SunToolkit.setAppContext (target, appContext)) {
102 jssun.awt.SunToolkit.appContextMap.put (target, appContext);
103 }}, "~O,jssun.awt.AppContext");
104 c$.postEvent = Clazz.defineMethod (c$, "postEvent",
105 function (appContext, event) {
107 throw new NullPointerException ();
108 }var postEventQueue = appContext.get ("PostEventQueue");
109 if (postEventQueue != null) {
110 postEventQueue.postEvent (event);
111 }}, "jssun.awt.AppContext,java.awt.AWTEvent");
112 c$.postPriorityEvent = Clazz.defineMethod (c$, "postPriorityEvent",
114 var pe = new jssun.awt.PeerEvent (java.awt.Toolkit.getDefaultToolkit (), ((Clazz.isClassDefined ("jssun.awt.SunToolkit$1") ? 0 : jssun.awt.SunToolkit.$SunToolkit$1$ ()), Clazz.innerTypeInstance (jssun.awt.SunToolkit$1, this, Clazz.cloneFinals ("e", e))), 2);
115 jssun.awt.SunToolkit.postEvent (jssun.awt.SunToolkit.targetToAppContext (e.getSource ()), pe);
116 }, "java.awt.AWTEvent");
117 c$.flushPendingEvents = Clazz.defineMethod (c$, "flushPendingEvents",
119 var appContext = jssun.awt.AppContext.getAppContext ();
120 var postEventQueue = appContext.get ("PostEventQueue");
121 if (postEventQueue != null) {
122 postEventQueue.flush ();
124 c$.isPostEventQueueEmpty = Clazz.defineMethod (c$, "isPostEventQueueEmpty",
126 var appContext = jssun.awt.AppContext.getAppContext ();
127 var postEventQueue = appContext.get ("PostEventQueue");
128 return (postEventQueue == null || postEventQueue.noEvents ());
130 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread",
131 function (target, runnable) {
132 jssun.awt.SunToolkit.executeOnEventHandlerThread ( new jssun.awt.PeerEvent (target, runnable, 1));
134 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread",
135 function (target, runnable, when) {
136 jssun.awt.SunToolkit.executeOnEventHandlerThread (((Clazz.isClassDefined ("jssun.awt.SunToolkit$2") ? 0 : jssun.awt.SunToolkit.$SunToolkit$2$ ()), Clazz.innerTypeInstance (jssun.awt.SunToolkit$2, this, Clazz.cloneFinals ("when", when), target, runnable, 1)));
137 }, "~O,Runnable,~N");
138 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread",
139 function (peerEvent) {
140 jssun.awt.SunToolkit.postEvent (jssun.awt.SunToolkit.targetToAppContext (peerEvent.getSource ()), peerEvent);
141 }, "jssun.awt.PeerEvent");
142 c$.invokeLaterOnAppContext = Clazz.defineMethod (c$, "invokeLaterOnAppContext",
143 function (appContext, dispatcher) {
144 jssun.awt.SunToolkit.postEvent (appContext, new jssun.awt.PeerEvent (java.awt.Toolkit.getDefaultToolkit (), dispatcher, 1));
145 }, "jssun.awt.AppContext,Runnable");
146 c$.isDispatchThreadForAppContext = Clazz.defineMethod (c$, "isDispatchThreadForAppContext",
148 var appContext = jssun.awt.SunToolkit.targetToAppContext (target);
149 var eq = appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY);
150 var next = jssun.awt.AWTAccessor.getEventQueueAccessor ().getNextQueue (eq);
151 while (next != null) {
153 next = jssun.awt.AWTAccessor.getEventQueueAccessor ().getNextQueue (eq);
155 return (Thread.currentThread () === jssun.awt.AWTAccessor.getEventQueueAccessor ().getDispatchThread (eq));
157 Clazz.overrideMethod (c$, "getScreenSize",
159 return new java.awt.Dimension (this.getScreenWidth (), this.getScreenHeight ());
161 Clazz.overrideMethod (c$, "getFontMetrics",
163 return jssun.font.FontDesignMetrics.getMetrics (font);
165 Clazz.overrideMethod (c$, "getFontList",
167 var hardwiredFontList = Clazz.newArray (-1, ["Dialog", "SansSerif", "Serif", "Monospaced", "DialogInput"]);
168 return hardwiredFontList;
170 Clazz.overrideMethod (c$, "createPanel",
172 return this.createComponent (target);
173 }, "java.awt.Panel");
174 Clazz.defineMethod (c$, "disableBackgroundErase",
175 function (component) {
176 this.disableBackgroundEraseImpl (component);
177 }, "java.awt.Component");
178 Clazz.defineMethod (c$, "disableBackgroundEraseImpl",
179 function (component) {
180 jssun.awt.AWTAccessor.getComponentAccessor ().setBackgroundEraseDisabled (component, true);
181 }, "java.awt.Component");
182 c$.getSunAwtNoerasebackground = Clazz.defineMethod (c$, "getSunAwtNoerasebackground",
186 c$.getSunAwtErasebackgroundonresize = Clazz.defineMethod (c$, "getSunAwtErasebackgroundonresize",
190 Clazz.defineMethod (c$, "setOverrideRedirect",
192 }, "java.awt.Window");
193 c$.getImageFromHash = Clazz.defineMethod (c$, "getImageFromHash",
195 var img = jssun.awt.SunToolkit.imgCache.get (url);
198 img = tk.createImage (url);
199 jssun.awt.SunToolkit.imgCache.put (url, img);
201 if (Clazz.exceptionOf (e, Exception)) {
207 }, "java.awt.Toolkit,java.net.URL");
208 c$.getImageFromHash = Clazz.defineMethod (c$, "getImageFromHash",
209 function (tk, filename) {
210 var img = jssun.awt.SunToolkit.imgCache.get (filename);
213 tk.createImage (filename);
214 jssun.awt.SunToolkit.imgCache.put (filename, img);
216 if (Clazz.exceptionOf (e, Exception)) {
222 }, "java.awt.Toolkit,~S");
223 Clazz.defineMethod (c$, "getImage",
224 function (filename) {
225 return jssun.awt.SunToolkit.getImageFromHash (this, filename);
227 Clazz.defineMethod (c$, "getImage",
229 return jssun.awt.SunToolkit.getImageFromHash (this, url);
231 Clazz.overrideMethod (c$, "checkImage",
232 function (img, w, h, o) {
234 }, "java.awt.Image,~N,~N,java.awt.image.ImageObserver");
235 Clazz.overrideMethod (c$, "prepareImage",
236 function (img, w, h, o) {
237 if (w == 0 || h == 0) {
240 }, "java.awt.Image,~N,~N,java.awt.image.ImageObserver");
241 Clazz.overrideMethod (c$, "getSystemEventQueueImpl",
243 return jssun.awt.SunToolkit.getSystemEventQueueImplPP ();
245 c$.getSystemEventQueueImplPP = Clazz.defineMethod (c$, "getSystemEventQueueImplPP",
247 return jssun.awt.SunToolkit.getSystemEventQueueImplPP (jssun.awt.AppContext.getAppContext ());
249 c$.getSystemEventQueueImplPP = Clazz.defineMethod (c$, "getSystemEventQueueImplPP",
250 function (appContext) {
251 var theEventQueue = appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY);
252 return theEventQueue;
253 }, "jssun.awt.AppContext");
254 c$.getNativeContainer = Clazz.defineMethod (c$, "getNativeContainer",
256 return java.awt.Toolkit.getNativeContainer (c);
257 }, "java.awt.Component");
258 Clazz.defineMethod (c$, "enableInputMethodsForTextComponent",
262 c$.getStartupLocale = Clazz.defineMethod (c$, "getStartupLocale",
264 if (jssun.awt.SunToolkit.startupLocale == null) {
266 }}return jssun.awt.SunToolkit.startupLocale;
268 Clazz.defineMethod (c$, "getDefaultKeyboardLocale",
270 return jssun.awt.SunToolkit.getStartupLocale ();
272 c$.setDataTransfererClassName = Clazz.defineMethod (c$, "setDataTransfererClassName",
273 function (className) {
274 jssun.awt.SunToolkit.dataTransfererClassName = className;
276 c$.getDataTransfererClassName = Clazz.defineMethod (c$, "getDataTransfererClassName",
278 if (jssun.awt.SunToolkit.dataTransfererClassName == null) {
279 java.awt.Toolkit.getDefaultToolkit ();
280 }return jssun.awt.SunToolkit.dataTransfererClassName;
282 Clazz.overrideMethod (c$, "getWindowClosingListener",
284 return this.windowClosingListener;
286 Clazz.overrideMethod (c$, "setWindowClosingListener",
288 this.windowClosingListener = wcl;
289 }, "jssun.awt.WindowClosingListener");
290 Clazz.defineMethod (c$, "windowClosingNotify",
292 if (this.windowClosingListener != null) {
293 return this.windowClosingListener.windowClosingNotify (event);
296 }}, "java.awt.event.WindowEvent");
297 Clazz.defineMethod (c$, "windowClosingDelivered",
299 if (this.windowClosingListener != null) {
300 return this.windowClosingListener.windowClosingDelivered (event);
303 }}, "java.awt.event.WindowEvent");
304 c$.isModalExcluded = Clazz.defineMethod (c$, "isModalExcluded",
307 }, "java.awt.Window");
308 c$.isLightweightOrUnknown = Clazz.defineMethod (c$, "isLightweightOrUnknown",
310 if (comp.isLightweight () || !(Clazz.instanceOf (java.awt.Toolkit.getDefaultToolkit (), jssun.awt.SunToolkit))) {
312 }return !(Clazz.instanceOf (comp, java.awt.Panel) || Clazz.instanceOf (comp, java.awt.Window));
313 }, "java.awt.Component");
314 Clazz.defineMethod (c$, "getDesktopAAHints",
318 c$.getContainingWindow = Clazz.defineMethod (c$, "getContainingWindow",
320 while (comp != null && !(Clazz.instanceOf (comp, java.awt.Window))) {
321 comp = comp.getParent ();
324 }, "java.awt.Component");
325 Clazz.defineMethod (c$, "isNativeGTKAvailable",
329 Clazz.defineMethod (c$, "isWindowOpacitySupported",
333 Clazz.defineMethod (c$, "isWindowShapingSupported",
337 Clazz.defineMethod (c$, "isWindowTranslucencySupported",
341 Clazz.defineMethod (c$, "isTranslucencyCapable",
344 }, "java.awt.GraphicsConfiguration");
345 Clazz.defineMethod (c$, "needUpdateWindow",
349 c$.$SunToolkit$1$ = function () {
351 c$ = Clazz.declareAnonymous (jssun.awt, "SunToolkit$1", null, Runnable);
352 Clazz.overrideMethod (c$, "run",
354 jssun.awt.AWTAccessor.getAWTEventAccessor ().setPosted (this.f$.e);
355 (this.f$.e.getSource ()).dispatchEvent (this.f$.e);
359 c$.$SunToolkit$2$ = function () {
361 c$ = Clazz.declareAnonymous (jssun.awt, "SunToolkit$2", jssun.awt.PeerEvent);
362 Clazz.overrideMethod (c$, "getWhen",
368 Clazz.defineStatics (c$,
369 "GRAB_EVENT_MASK", 0x80000000,
370 "POST_EVENT_QUEUE_KEY", "PostEventQueue");
371 c$.appContextMap = c$.prototype.appContextMap = new java.util.HashMap ();
372 c$.imgCache = c$.prototype.imgCache = new java.util.HashMap ();
373 Clazz.defineStatics (c$,
374 "startupLocale", null,
375 "dataTransfererClassName", null,
376 "DESKTOPFONTHINTS", "awt.font.desktophints");