home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / awt / windows / WToolkit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  9.2 KB  |  379 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Button;
  5. import java.awt.Canvas;
  6. import java.awt.Checkbox;
  7. import java.awt.CheckboxMenuItem;
  8. import java.awt.Choice;
  9. import java.awt.Dialog;
  10. import java.awt.FileDialog;
  11. import java.awt.Font;
  12. import java.awt.FontMetrics;
  13. import java.awt.Frame;
  14. import java.awt.Image;
  15. import java.awt.Label;
  16. import java.awt.List;
  17. import java.awt.Menu;
  18. import java.awt.MenuBar;
  19. import java.awt.MenuItem;
  20. import java.awt.Panel;
  21. import java.awt.PopupMenu;
  22. import java.awt.PrintJob;
  23. import java.awt.ScrollPane;
  24. import java.awt.Scrollbar;
  25. import java.awt.TextArea;
  26. import java.awt.TextField;
  27. import java.awt.Toolkit;
  28. import java.awt.Window;
  29. import java.awt.datatransfer.Clipboard;
  30. import java.awt.image.ColorModel;
  31. import java.awt.image.ImageObserver;
  32. import java.awt.image.ImageProducer;
  33. import java.awt.peer.ButtonPeer;
  34. import java.awt.peer.CanvasPeer;
  35. import java.awt.peer.CheckboxMenuItemPeer;
  36. import java.awt.peer.CheckboxPeer;
  37. import java.awt.peer.ChoicePeer;
  38. import java.awt.peer.DialogPeer;
  39. import java.awt.peer.FileDialogPeer;
  40. import java.awt.peer.FontPeer;
  41. import java.awt.peer.FramePeer;
  42. import java.awt.peer.LabelPeer;
  43. import java.awt.peer.ListPeer;
  44. import java.awt.peer.MenuBarPeer;
  45. import java.awt.peer.MenuItemPeer;
  46. import java.awt.peer.MenuPeer;
  47. import java.awt.peer.PanelPeer;
  48. import java.awt.peer.PopupMenuPeer;
  49. import java.awt.peer.ScrollPanePeer;
  50. import java.awt.peer.ScrollbarPeer;
  51. import java.awt.peer.TextAreaPeer;
  52. import java.awt.peer.TextFieldPeer;
  53. import java.awt.peer.WindowPeer;
  54. import java.io.IOException;
  55. import java.util.Properties;
  56. import sun.awt.SunToolkit;
  57. import sun.awt.im.InputMethod;
  58. import sun.awt.image.ImageRepresentation;
  59.  
  60. public class WToolkit extends SunToolkit implements Runnable {
  61.    static final boolean enableDebug = true;
  62.    boolean dbgTrace = false;
  63.    private static final String propTrace = "WINAWT.Trace";
  64.    boolean dbgVerify = false;
  65.    private static final String propVerify = "WINAWT.VerifyComponents";
  66.    boolean dbgBreak = false;
  67.    private static final String propBreak = "WINAWT.BreakOnFailure";
  68.    boolean dbgHeapCheck = false;
  69.    private static final String propHeapCheck = "WINAWT.HeapCheck";
  70.    WClipboard clipboard;
  71.    static ColorModel screenmodel;
  72.  
  73.    public WToolkit() {
  74.       this.InitializeDebuggingOptions();
  75.       synchronized(this){}
  76.  
  77.       try {
  78.          Thread var3 = new Thread(this, "AWT-Windows");
  79.          var3.setDaemon(false);
  80.          var3.start();
  81.  
  82.          try {
  83.             this.wait();
  84.          } catch (InterruptedException var6) {
  85.          }
  86.       } catch (Throwable var7) {
  87.          throw var7;
  88.       }
  89.  
  90.    }
  91.  
  92.    private void InitializeDebuggingOptions() {
  93.       String var1 = Toolkit.getProperty("WINAWT.Trace", "false");
  94.       this.dbgTrace = Boolean.valueOf(var1);
  95.       var1 = Toolkit.getProperty("WINAWT.VerifyComponents", "false");
  96.       this.dbgVerify = Boolean.valueOf(var1);
  97.       var1 = Toolkit.getProperty("WINAWT.BreakOnFailure", "false");
  98.       this.dbgBreak = Boolean.valueOf(var1);
  99.       var1 = Toolkit.getProperty("WINAWT.HeapCheck", "false");
  100.       this.dbgHeapCheck = Boolean.valueOf(var1);
  101.    }
  102.  
  103.    public native void init(Thread var1);
  104.  
  105.    public void run() {
  106.       Thread var1 = Thread.currentThread();
  107.       this.init(var1);
  108.       synchronized(this){}
  109.  
  110.       try {
  111.          this.notifyAll();
  112.       } catch (Throwable var4) {
  113.          throw var4;
  114.       }
  115.  
  116.       this.eventLoop();
  117.    }
  118.  
  119.    native void eventLoop();
  120.  
  121.    static void postEvent(AWTEvent var0) {
  122.       SunToolkit.theEventQueue.postEvent(var0);
  123.    }
  124.  
  125.    public ButtonPeer createButton(Button var1) {
  126.       WButtonPeer var2 = new WButtonPeer(var1);
  127.       SunToolkit.peerMap.put(var1, var2);
  128.       return var2;
  129.    }
  130.  
  131.    public TextFieldPeer createTextField(TextField var1) {
  132.       WTextFieldPeer var2 = new WTextFieldPeer(var1);
  133.       SunToolkit.peerMap.put(var1, var2);
  134.       return var2;
  135.    }
  136.  
  137.    public LabelPeer createLabel(Label var1) {
  138.       WLabelPeer var2 = new WLabelPeer(var1);
  139.       SunToolkit.peerMap.put(var1, var2);
  140.       return var2;
  141.    }
  142.  
  143.    public ListPeer createList(List var1) {
  144.       WListPeer var2 = new WListPeer(var1);
  145.       SunToolkit.peerMap.put(var1, var2);
  146.       return var2;
  147.    }
  148.  
  149.    public CheckboxPeer createCheckbox(Checkbox var1) {
  150.       WCheckboxPeer var2 = new WCheckboxPeer(var1);
  151.       SunToolkit.peerMap.put(var1, var2);
  152.       return var2;
  153.    }
  154.  
  155.    public ScrollbarPeer createScrollbar(Scrollbar var1) {
  156.       WScrollbarPeer var2 = new WScrollbarPeer(var1);
  157.       SunToolkit.peerMap.put(var1, var2);
  158.       return var2;
  159.    }
  160.  
  161.    public ScrollPanePeer createScrollPane(ScrollPane var1) {
  162.       WScrollPanePeer var2 = new WScrollPanePeer(var1);
  163.       SunToolkit.peerMap.put(var1, var2);
  164.       return var2;
  165.    }
  166.  
  167.    public TextAreaPeer createTextArea(TextArea var1) {
  168.       WTextAreaPeer var2 = new WTextAreaPeer(var1);
  169.       SunToolkit.peerMap.put(var1, var2);
  170.       return var2;
  171.    }
  172.  
  173.    static native int getComboHeightOffset();
  174.  
  175.    public ChoicePeer createChoice(Choice var1) {
  176.       WChoicePeer var2 = new WChoicePeer(var1);
  177.       SunToolkit.peerMap.put(var1, var2);
  178.       return var2;
  179.    }
  180.  
  181.    public FramePeer createFrame(Frame var1) {
  182.       WFramePeer var2 = new WFramePeer(var1);
  183.       SunToolkit.peerMap.put(var1, var2);
  184.       return var2;
  185.    }
  186.  
  187.    public CanvasPeer createCanvas(Canvas var1) {
  188.       WCanvasPeer var2 = new WCanvasPeer(var1);
  189.       SunToolkit.peerMap.put(var1, var2);
  190.       return var2;
  191.    }
  192.  
  193.    public PanelPeer createPanel(Panel var1) {
  194.       WPanelPeer var2 = new WPanelPeer(var1);
  195.       SunToolkit.peerMap.put(var1, var2);
  196.       return var2;
  197.    }
  198.  
  199.    public WindowPeer createWindow(Window var1) {
  200.       WWindowPeer var2 = new WWindowPeer(var1);
  201.       SunToolkit.peerMap.put(var1, var2);
  202.       return var2;
  203.    }
  204.  
  205.    public DialogPeer createDialog(Dialog var1) {
  206.       WDialogPeer var2 = new WDialogPeer(var1);
  207.       SunToolkit.peerMap.put(var1, var2);
  208.       return var2;
  209.    }
  210.  
  211.    public FileDialogPeer createFileDialog(FileDialog var1) {
  212.       WFileDialogPeer var2 = new WFileDialogPeer(var1);
  213.       SunToolkit.peerMap.put(var1, var2);
  214.       return var2;
  215.    }
  216.  
  217.    public MenuBarPeer createMenuBar(MenuBar var1) {
  218.       WMenuBarPeer var2 = new WMenuBarPeer(var1);
  219.       SunToolkit.peerMap.put(var1, var2);
  220.       return var2;
  221.    }
  222.  
  223.    public MenuPeer createMenu(Menu var1) {
  224.       WMenuPeer var2 = new WMenuPeer(var1);
  225.       SunToolkit.peerMap.put(var1, var2);
  226.       var2.create();
  227.       return var2;
  228.    }
  229.  
  230.    public PopupMenuPeer createPopupMenu(PopupMenu var1) {
  231.       WPopupMenuPeer var2 = new WPopupMenuPeer(var1);
  232.       SunToolkit.peerMap.put(var1, var2);
  233.       return var2;
  234.    }
  235.  
  236.    public MenuItemPeer createMenuItem(MenuItem var1) {
  237.       WMenuItemPeer var2 = new WMenuItemPeer(var1);
  238.       SunToolkit.peerMap.put(var1, var2);
  239.       return var2;
  240.    }
  241.  
  242.    public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1) {
  243.       WCheckboxMenuItemPeer var2 = new WCheckboxMenuItemPeer(var1);
  244.       SunToolkit.peerMap.put(var1, var2);
  245.       return var2;
  246.    }
  247.  
  248.    public WEmbeddedFramePeer createEmbeddedFrame(WEmbeddedFrame var1) {
  249.       WEmbeddedFramePeer var2 = new WEmbeddedFramePeer(var1);
  250.       SunToolkit.peerMap.put(var1, var2);
  251.       return var2;
  252.    }
  253.  
  254.    static boolean prepareScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  255.       if (var1 != 0 && var2 != 0) {
  256.          WImage var4 = (WImage)var0;
  257.          if (((sun.awt.image.Image)var4).hasError()) {
  258.             if (var3 != null) {
  259.                var3.imageUpdate(var0, 192, -1, -1, -1, -1);
  260.             }
  261.  
  262.             return false;
  263.          } else {
  264.             ImageRepresentation var5 = var4.getImageRep();
  265.             return var5.prepare(var3);
  266.          }
  267.       } else {
  268.          return true;
  269.       }
  270.    }
  271.  
  272.    static int checkScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  273.       WImage var4 = (WImage)var0;
  274.       int var5;
  275.       if (var1 != 0 && var2 != 0) {
  276.          var5 = var4.getImageRep().check(var3);
  277.       } else {
  278.          var5 = 32;
  279.       }
  280.  
  281.       return ((sun.awt.image.Image)var4).check(var3) | var5;
  282.    }
  283.  
  284.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  285.       return checkScrImage(var1, var2, var3, var4);
  286.    }
  287.  
  288.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  289.       return prepareScrImage(var1, var2, var3, var4);
  290.    }
  291.  
  292.    public Image createImage(ImageProducer var1) {
  293.       return new WImage(var1);
  294.    }
  295.  
  296.    static native ColorModel makeColorModel();
  297.  
  298.    static ColorModel getStaticColorModel() {
  299.       if (screenmodel == null) {
  300.          screenmodel = makeColorModel();
  301.       }
  302.  
  303.       return screenmodel;
  304.    }
  305.  
  306.    public ColorModel getColorModel() {
  307.       return getStaticColorModel();
  308.    }
  309.  
  310.    public native int getScreenResolution();
  311.  
  312.    protected native int getScreenWidth();
  313.  
  314.    protected native int getScreenHeight();
  315.  
  316.    public FontMetrics getFontMetrics(Font var1) {
  317.       return WFontMetrics.getFontMetrics(var1);
  318.    }
  319.  
  320.    public FontPeer getFontPeer(String var1, int var2) {
  321.       return new WFontPeer(var1, var2);
  322.    }
  323.  
  324.    public native void sync();
  325.  
  326.    public PrintJob getPrintJob(Frame var1, String var2, Properties var3) {
  327.       SecurityManager var4 = System.getSecurityManager();
  328.       if (var4 != null) {
  329.          var4.checkPrintJobAccess();
  330.       }
  331.  
  332.       WPrintJob var5 = null;
  333.  
  334.       try {
  335.          var5 = new WPrintJob("AWT Print");
  336.       } catch (IOException var6) {
  337.       }
  338.  
  339.       return var5.initJob();
  340.    }
  341.  
  342.    public native void beep();
  343.  
  344.    public Clipboard getSystemClipboard() {
  345.       SecurityManager var1 = System.getSecurityManager();
  346.       if (var1 != null) {
  347.          var1.checkSystemClipboardAccess();
  348.       }
  349.  
  350.       if (this.clipboard == null) {
  351.          this.clipboard = new WClipboard();
  352.       }
  353.  
  354.       return this.clipboard;
  355.    }
  356.  
  357.    protected native void loadSystemColors(int[] var1);
  358.  
  359.    public static final Object targetToPeer(Object var0) {
  360.       return SunToolkit.targetToPeer(var0);
  361.    }
  362.  
  363.    public static final void targetDisposedPeer(Object var0, Object var1) {
  364.       SunToolkit.targetDisposedPeer(var0, var1);
  365.    }
  366.  
  367.    public InputMethod getInputMethodAdapter() {
  368.       return null;
  369.    }
  370.  
  371.    public boolean enableInputMethodsForTextComponent() {
  372.       return true;
  373.    }
  374.  
  375.    static {
  376.       System.loadLibrary("winawt");
  377.    }
  378. }
  379.