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