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