home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.AWTException;
- import java.awt.Button;
- import java.awt.Canvas;
- import java.awt.Checkbox;
- import java.awt.CheckboxMenuItem;
- import java.awt.Choice;
- import java.awt.Component;
- import java.awt.Cursor;
- import java.awt.Dialog;
- import java.awt.Dimension;
- import java.awt.FileDialog;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.GraphicsConfiguration;
- import java.awt.GraphicsDevice;
- import java.awt.GraphicsEnvironment;
- import java.awt.Image;
- import java.awt.JobAttributes;
- import java.awt.Label;
- import java.awt.List;
- import java.awt.Menu;
- import java.awt.MenuBar;
- import java.awt.MenuItem;
- import java.awt.PageAttributes;
- import java.awt.Panel;
- import java.awt.Point;
- import java.awt.PopupMenu;
- import java.awt.PrintJob;
- import java.awt.Robot;
- import java.awt.ScrollPane;
- import java.awt.Scrollbar;
- import java.awt.TextArea;
- import java.awt.TextField;
- import java.awt.Toolkit;
- import java.awt.Window;
- import java.awt.datatransfer.Clipboard;
- import java.awt.dnd.DragGestureEvent;
- import java.awt.dnd.DragGestureListener;
- import java.awt.dnd.DragGestureRecognizer;
- import java.awt.dnd.DragSource;
- import java.awt.dnd.InvalidDnDOperationException;
- import java.awt.dnd.peer.DragSourceContextPeer;
- import java.awt.im.InputMethodHighlight;
- import java.awt.im.spi.InputMethodDescriptor;
- import java.awt.image.ColorModel;
- import java.awt.image.ImageObserver;
- import java.awt.image.ImageProducer;
- import java.awt.peer.ButtonPeer;
- import java.awt.peer.CanvasPeer;
- import java.awt.peer.CheckboxMenuItemPeer;
- import java.awt.peer.CheckboxPeer;
- import java.awt.peer.ChoicePeer;
- import java.awt.peer.ComponentPeer;
- import java.awt.peer.DialogPeer;
- import java.awt.peer.FileDialogPeer;
- import java.awt.peer.FontPeer;
- import java.awt.peer.FramePeer;
- import java.awt.peer.LabelPeer;
- import java.awt.peer.ListPeer;
- import java.awt.peer.MenuBarPeer;
- import java.awt.peer.MenuItemPeer;
- import java.awt.peer.MenuPeer;
- import java.awt.peer.PanelPeer;
- import java.awt.peer.PopupMenuPeer;
- import java.awt.peer.RobotPeer;
- import java.awt.peer.ScrollPanePeer;
- import java.awt.peer.ScrollbarPeer;
- import java.awt.peer.TextAreaPeer;
- import java.awt.peer.TextFieldPeer;
- import java.awt.peer.WindowPeer;
- import java.beans.PropertyChangeListener;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.InvocationTargetException;
- import java.security.AccessController;
- import java.util.Hashtable;
- import java.util.Map;
- import java.util.Properties;
- import sun.awt.GlobalCursorManager;
- import sun.awt.SunToolkit;
- import sun.awt.Win32GraphicsDevice;
- import sun.awt.image.ImageRepresentation;
- import sun.awt.print.PrintControl;
- import sun.java2d.loops.RasterOutputManager;
- import sun.security.action.LoadLibraryAction;
-
- public class WToolkit extends SunToolkit implements Runnable {
- static GraphicsConfiguration config;
- WClipboard clipboard;
- private Hashtable cacheFontPeer;
- private WDesktopProperties wprops;
- static ColorModel screenmodel;
- private Constructor printControlConstructor;
- private static final String prefix = "DnD.Cursor.";
- private static final String postfix = ".32x32";
- private ModalityListenerList modalityListeners = new ModalityListenerList(this);
- // $FF: synthetic field
- static Class class$java$awt$Frame;
- // $FF: synthetic field
- static Class class$java$lang$String;
- // $FF: synthetic field
- static Class class$java$awt$JobAttributes;
- // $FF: synthetic field
- static Class class$java$awt$PageAttributes;
- // $FF: synthetic field
- static Class class$java$awt$dnd$MouseDragGestureRecognizer;
-
- private static native void initIDs();
-
- private static void resetGC() {
- config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
- }
-
- public static native boolean embeddedInit();
-
- public static native boolean embeddedDispose();
-
- public WToolkit() {
- synchronized(this) {
- (new Thread(this, "AWT-Windows")).start();
-
- try {
- this.wait();
- } catch (InterruptedException var4) {
- }
- }
-
- WDropTargetContextPeer.Initialize();
- WDragSourceContextPeer.Initialize();
- }
-
- public void run() {
- boolean var1 = this.init();
- if (var1) {
- ThreadGroup var2 = (ThreadGroup)AccessController.doPrivileged(new 1(this));
- Runtime.getRuntime().addShutdownHook(new Thread(var2, new 2(this)));
- }
-
- synchronized(this) {
- this.notifyAll();
- }
-
- if (var1) {
- this.eventLoop();
- }
-
- }
-
- private native boolean init();
-
- private native void eventLoop();
-
- private native void shutdown();
-
- protected native void finalize();
-
- public static native void startSecondaryEventLoop();
-
- public static native void quitSecondaryEventLoop();
-
- public ButtonPeer createButton(Button var1) {
- WButtonPeer var2 = new WButtonPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public TextFieldPeer createTextField(TextField var1) {
- WTextFieldPeer var2 = new WTextFieldPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public LabelPeer createLabel(Label var1) {
- WLabelPeer var2 = new WLabelPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public ListPeer createList(List var1) {
- WListPeer var2 = new WListPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public CheckboxPeer createCheckbox(Checkbox var1) {
- WCheckboxPeer var2 = new WCheckboxPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public ScrollbarPeer createScrollbar(Scrollbar var1) {
- WScrollbarPeer var2 = new WScrollbarPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public ScrollPanePeer createScrollPane(ScrollPane var1) {
- WScrollPanePeer var2 = new WScrollPanePeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public TextAreaPeer createTextArea(TextArea var1) {
- WTextAreaPeer var2 = new WTextAreaPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public ChoicePeer createChoice(Choice var1) {
- WChoicePeer var2 = new WChoicePeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public FramePeer createFrame(Frame var1) {
- WFramePeer var2 = new WFramePeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public CanvasPeer createCanvas(Canvas var1) {
- WCanvasPeer var2 = new WCanvasPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public PanelPeer createPanel(Panel var1) {
- WPanelPeer var2 = new WPanelPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public WindowPeer createWindow(Window var1) {
- WWindowPeer var2 = new WWindowPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public DialogPeer createDialog(Dialog var1) {
- WDialogPeer var2 = new WDialogPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public FileDialogPeer createFileDialog(FileDialog var1) {
- WFileDialogPeer var2 = new WFileDialogPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public MenuBarPeer createMenuBar(MenuBar var1) {
- WMenuBarPeer var2 = new WMenuBarPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public MenuPeer createMenu(Menu var1) {
- WMenuPeer var2 = new WMenuPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public PopupMenuPeer createPopupMenu(PopupMenu var1) {
- WPopupMenuPeer var2 = new WPopupMenuPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public MenuItemPeer createMenuItem(MenuItem var1) {
- WMenuItemPeer var2 = new WMenuItemPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1) {
- WCheckboxMenuItemPeer var2 = new WCheckboxMenuItemPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- public RobotPeer createRobot(Robot var1, GraphicsDevice var2) {
- return new WRobotPeer(var2);
- }
-
- public WEmbeddedFramePeer createEmbeddedFrame(WEmbeddedFrame var1) {
- WEmbeddedFramePeer var2 = new WEmbeddedFramePeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- WPrintDialogPeer createWPrintDialog(WPrintDialog var1) {
- WPrintDialogPeer var2 = new WPrintDialogPeer(var1);
- SunToolkit.targetCreatedPeer(var1, var2);
- return var2;
- }
-
- static boolean prepareScrImage(Image var0, int var1, int var2, ImageObserver var3) {
- if (var1 != 0 && var2 != 0) {
- if (!(var0 instanceof WImage)) {
- return true;
- } else {
- WImage var4 = (WImage)var0;
- if (((sun.awt.image.Image)var4).hasError()) {
- if (var3 != null) {
- var3.imageUpdate(var0, 192, -1, -1, -1, -1);
- }
-
- return false;
- } else {
- ImageRepresentation var5 = var4.getImageRep();
- return var5.prepare(var3);
- }
- }
- } else {
- return true;
- }
- }
-
- static int checkScrImage(Image var0, int var1, int var2, ImageObserver var3) {
- if (!(var0 instanceof WImage)) {
- return 32;
- } else {
- WImage var4 = (WImage)var0;
- int var5;
- if (var1 != 0 && var2 != 0) {
- var5 = var4.getImageRep().check(var3);
- } else {
- var5 = 32;
- }
-
- return ((sun.awt.image.Image)var4).check(var3) | var5;
- }
- }
-
- public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
- return checkScrImage(var1, var2, var3, var4);
- }
-
- public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
- return prepareScrImage(var1, var2, var3, var4);
- }
-
- public Image createImage(ImageProducer var1) {
- return new WImage(var1);
- }
-
- static native ColorModel makeColorModel();
-
- static ColorModel getStaticColorModel() {
- return config.getColorModel();
- }
-
- public ColorModel getColorModel() {
- return getStaticColorModel();
- }
-
- public native int getScreenResolution();
-
- protected native int getScreenWidth();
-
- protected native int getScreenHeight();
-
- public FontMetrics getFontMetrics(Font var1) {
- return !RasterOutputManager.usesPlatformFont() ? super.getFontMetrics(var1) : WFontMetrics.getFontMetrics(var1);
- }
-
- public FontPeer getFontPeer(String var1, int var2) {
- Object var3 = null;
- String var4 = var1.toLowerCase();
- if (null != this.cacheFontPeer) {
- FontPeer var5 = (FontPeer)this.cacheFontPeer.get(var4 + var2);
- if (null != var5) {
- return var5;
- }
- }
-
- WFontPeer var6 = new WFontPeer(var1, var2);
- if (var6 != null) {
- if (null == this.cacheFontPeer) {
- this.cacheFontPeer = new Hashtable(5, 0.9F);
- }
-
- if (null != this.cacheFontPeer) {
- this.cacheFontPeer.put(var4 + var2, var6);
- }
- }
-
- return var6;
- }
-
- public native void sync();
-
- public PrintJob getPrintJob(Frame var1, String var2, Properties var3) {
- return this.getPrintJob(var1, var2, (JobAttributes)null, (PageAttributes)null);
- }
-
- public PrintJob getPrintJob(Frame var1, String var2, JobAttributes var3, PageAttributes var4) {
- SecurityManager var5 = System.getSecurityManager();
- if (var5 != null) {
- var5.checkPrintJobAccess();
- }
-
- if (this.printControlConstructor == null) {
- this.printControlConstructor = (Constructor)AccessController.doPrivileged(new GetConstructorAction(this, new Class[]{class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame, class$java$lang$String == null ? (class$java$lang$String = class$("java.lang.String")) : class$java$lang$String, class$java$awt$JobAttributes == null ? (class$java$awt$JobAttributes = class$("java.awt.JobAttributes")) : class$java$awt$JobAttributes, class$java$awt$PageAttributes == null ? (class$java$awt$PageAttributes = class$("java.awt.PageAttributes")) : class$java$awt$PageAttributes}));
- }
-
- Object var6 = null;
-
- try {
- var6 = (PrintControl)this.printControlConstructor.newInstance(var1, var2, var3, var4);
- } catch (InstantiationException var11) {
- var6 = new WPrintControl(var1, var2, var3, var4);
- } catch (IllegalAccessException var12) {
- var6 = new WPrintControl(var1, var2, var3, var4);
- } catch (InvocationTargetException var13) {
- Throwable var10 = var13.getTargetException();
- if (var10 instanceof Error) {
- throw (Error)var10;
- }
-
- if (var10 instanceof RuntimeException) {
- throw (RuntimeException)var10;
- }
-
- var6 = new WPrintControl(var1, var2, var3, var4);
- }
-
- return ((PrintControl)var6).initJob();
- }
-
- public native void beep();
-
- public boolean getLockingKeyState(int var1) {
- if (var1 != 20 && var1 != 144 && var1 != 145 && var1 != 262) {
- throw new IllegalArgumentException("invalid key for Toolkit.getLockingKeyState");
- } else {
- return this.getLockingKeyStateNative(var1);
- }
- }
-
- public native boolean getLockingKeyStateNative(int var1);
-
- public void setLockingKeyState(int var1, boolean var2) {
- if (var1 != 20 && var1 != 144 && var1 != 145 && var1 != 262) {
- throw new IllegalArgumentException("invalid key for Toolkit.setLockingKeyState");
- } else {
- this.setLockingKeyStateNative(var1, var2);
- }
- }
-
- public native void setLockingKeyStateNative(int var1, boolean var2);
-
- public Clipboard getSystemClipboard() {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- var1.checkSystemClipboardAccess();
- }
-
- if (this.clipboard == null) {
- this.clipboard = new WClipboard();
- }
-
- return this.clipboard;
- }
-
- protected native void loadSystemColors(int[] var1);
-
- public static final Object targetToPeer(Object var0) {
- return SunToolkit.targetToPeer(var0);
- }
-
- public static final void targetDisposedPeer(Object var0, Object var1) {
- SunToolkit.targetDisposedPeer(var0, var1);
- }
-
- public InputMethodDescriptor getInputMethodAdapterDescriptor() {
- return new WInputMethodDescriptor();
- }
-
- public Map mapInputMethodHighlight(InputMethodHighlight var1) {
- return WInputMethod.mapInputMethodHighlight(var1);
- }
-
- public boolean enableInputMethodsForTextComponent() {
- return true;
- }
-
- public Cursor createCustomCursor(Image var1, Point var2, String var3) throws IndexOutOfBoundsException {
- return new WCustomCursor(var1, var2, var3);
- }
-
- public Dimension getBestCursorSize(int var1, int var2) {
- return new Dimension(WCustomCursor.getCursorWidth(), WCustomCursor.getCursorHeight());
- }
-
- public native int getMaximumCursorColors();
-
- static void displayChange() {
- resetGC();
- GraphicsDevice[] var0 = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
-
- for(int var1 = 0; var1 < var0.length; ++var1) {
- if (var0[var1] instanceof Win32GraphicsDevice) {
- ((Win32GraphicsDevice)var0[var1]).displayModeChanged();
- }
- }
-
- }
-
- public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent var1) throws InvalidDnDOperationException {
- return WDragSourceContextPeer.getDragSourceContextPeer(var1);
- }
-
- public DragGestureRecognizer createDragGestureRecognizer(Class var1, DragSource var2, Component var3, int var4, DragGestureListener var5) {
- return (class$java$awt$dnd$MouseDragGestureRecognizer == null ? (class$java$awt$dnd$MouseDragGestureRecognizer = class$("java.awt.dnd.MouseDragGestureRecognizer")) : class$java$awt$dnd$MouseDragGestureRecognizer).equals(var1) ? new WMouseDragGestureRecognizer(var2, var3, var4, var5) : null;
- }
-
- protected Object lazilyLoadDesktopProperty(String var1) {
- if (var1.startsWith("DnD.Cursor.")) {
- String var2 = var1.substring("DnD.Cursor.".length(), var1.length()) + ".32x32";
-
- try {
- return Cursor.getSystemCustomCursor(var2);
- } catch (AWTException var6) {
- throw new RuntimeException("cannot load system cursor: " + var2);
- }
- } else if (WDesktopProperties.isWindowsProperty(var1)) {
- synchronized(this) {
- if (this.wprops == null) {
- this.wprops = new WDesktopProperties();
- }
-
- Object var3 = this.wprops.getProperty(var1);
- return var3;
- }
- } else {
- return super.lazilyLoadDesktopProperty(var1);
- }
- }
-
- private void windowsSettingChange() {
- if (this.wprops != null) {
- this.wprops.firePropertyChanges();
- }
-
- }
-
- public synchronized void addPropertyChangeListener(String var1, PropertyChangeListener var2) {
- if (WDesktopProperties.isWindowsProperty(var1)) {
- if (this.wprops == null) {
- this.wprops = new WDesktopProperties();
- }
-
- this.wprops.addPropertyChangeListener(var1, var2);
- } else {
- super.addPropertyChangeListener(var1, var2);
- }
-
- }
-
- public synchronized void removePropertyChangeListener(String var1, PropertyChangeListener var2) {
- if (WDesktopProperties.isWindowsProperty(var1)) {
- if (this.wprops != null) {
- this.wprops.removePropertyChangeListener(var1, var2);
- }
- } else {
- super.removePropertyChangeListener(var1, var2);
- }
-
- }
-
- protected void initializeDesktopProperties() {
- super.desktopProperties.put("DnD.Autoscroll.initialDelay", new Integer(50));
- super.desktopProperties.put("DnD.Autoscroll.interval", new Integer(50));
- this.wprops = new WDesktopProperties();
- super.desktopProperties.put("DnD.Autoscroll.cursorHysteresis", this.wprops.getProperty("win.drag.x"));
- }
-
- public native Component getComponentFromNativeWindowHandle(int var1);
-
- private native int getNativeWindowHandleFromPeer(WComponentPeer var1);
-
- public int getNativeWindowHandleFromComponent(Component var1) {
- ComponentPeer var2;
- for(var2 = ((Component)var1).getPeer(); var2 != null && !(var2 instanceof WComponentPeer); var2 = ((Component)var1).getPeer()) {
- var1 = ((Component)var1).getParent();
- if (var1 == null) {
- return 0;
- }
- }
-
- return var2 == null ? 0 : this.getNativeWindowHandleFromPeer((WComponentPeer)var2);
- }
-
- public String getDefaultCharacterEncoding() {
- return "us-ascii";
- }
-
- public String getDefaultUnicodeEncoding() {
- return "utf-16le";
- }
-
- public GlobalCursorManager getGlobalCursorManager() {
- return new WGlobalCursorManager();
- }
-
- public static WToolkit getWToolkit() {
- WToolkit var0 = (WToolkit)Toolkit.getDefaultToolkit();
- return var0;
- }
-
- public native void pushModality();
-
- public native void popModality();
-
- public void addModalityListener(ModalityListener var1) {
- this.modalityListeners.add(var1);
- }
-
- public void removeModalityListener(ModalityListener var1) {
- this.modalityListeners.remove(var1);
- }
-
- final void notifyModalityChange(int var1) {
- ModalityEvent var2 = new ModalityEvent(this, this.modalityListeners, var1);
- var2.dispatch();
- }
-
- // $FF: synthetic method
- static void access$000(WToolkit var0) {
- var0.shutdown();
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- static {
- resetGC();
- AccessController.doPrivileged(new LoadLibraryAction("awt"));
- initIDs();
- }
- }
-