home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 July / PCO_07_97.ISO / NET_COM / cc32e40.exe / nav40.z / java40.jar / sun / awt / motif / MToolkit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-07  |  6.3 KB  |  279 lines

  1. package sun.awt.motif;
  2.  
  3. import java.awt.AWTError;
  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.Dimension;
  11. import java.awt.FileDialog;
  12. import java.awt.Font;
  13. import java.awt.FontMetrics;
  14. import java.awt.Frame;
  15. import java.awt.Image;
  16. import java.awt.Label;
  17. import java.awt.List;
  18. import java.awt.Menu;
  19. import java.awt.MenuBar;
  20. import java.awt.MenuItem;
  21. import java.awt.Panel;
  22. import java.awt.Scrollbar;
  23. import java.awt.TextArea;
  24. import java.awt.TextField;
  25. import java.awt.Toolkit;
  26. import java.awt.Window;
  27. import java.awt.image.ColorModel;
  28. import java.awt.image.ImageObserver;
  29. import java.awt.image.ImageProducer;
  30. import java.awt.peer.ButtonPeer;
  31. import java.awt.peer.CanvasPeer;
  32. import java.awt.peer.CheckboxMenuItemPeer;
  33. import java.awt.peer.CheckboxPeer;
  34. import java.awt.peer.ChoicePeer;
  35. import java.awt.peer.DialogPeer;
  36. import java.awt.peer.FileDialogPeer;
  37. import java.awt.peer.FramePeer;
  38. import java.awt.peer.LabelPeer;
  39. import java.awt.peer.ListPeer;
  40. import java.awt.peer.MenuBarPeer;
  41. import java.awt.peer.MenuItemPeer;
  42. import java.awt.peer.MenuPeer;
  43. import java.awt.peer.PanelPeer;
  44. import java.awt.peer.ScrollbarPeer;
  45. import java.awt.peer.TextAreaPeer;
  46. import java.awt.peer.TextFieldPeer;
  47. import java.awt.peer.WindowPeer;
  48. import java.net.URL;
  49. import java.util.Hashtable;
  50. import sun.awt.image.ByteArrayImageSource;
  51. import sun.awt.image.FileImageSource;
  52. import sun.awt.image.ImageRepresentation;
  53. import sun.awt.image.URLImageSource;
  54.  
  55. public class MToolkit extends Toolkit implements Runnable {
  56.    static ColorModel screenmodel;
  57.    static Hashtable imgHash;
  58.  
  59.    public MToolkit() {
  60.       this.init();
  61.       (new Thread(this, "AWT-Motif")).start();
  62.    }
  63.  
  64.    public native void init();
  65.  
  66.    public native void run();
  67.  
  68.    public ButtonPeer createButton(Button var1) {
  69.       return new MButtonPeer(var1);
  70.    }
  71.  
  72.    public TextFieldPeer createTextField(TextField var1) {
  73.       return new MTextFieldPeer(var1);
  74.    }
  75.  
  76.    public LabelPeer createLabel(Label var1) {
  77.       return new MLabelPeer(var1);
  78.    }
  79.  
  80.    public ListPeer createList(List var1) {
  81.       return new MListPeer(var1);
  82.    }
  83.  
  84.    public CheckboxPeer createCheckbox(Checkbox var1) {
  85.       return new MCheckboxPeer(var1);
  86.    }
  87.  
  88.    public ScrollbarPeer createScrollbar(Scrollbar var1) {
  89.       return new MScrollbarPeer(var1);
  90.    }
  91.  
  92.    public TextAreaPeer createTextArea(TextArea var1) {
  93.       return new MTextAreaPeer(var1);
  94.    }
  95.  
  96.    public ChoicePeer createChoice(Choice var1) {
  97.       return new MTinyChoicePeer(var1);
  98.    }
  99.  
  100.    public FramePeer createFrame(Frame var1) {
  101.       return new MFramePeer(var1);
  102.    }
  103.  
  104.    public CanvasPeer createCanvas(Canvas var1) {
  105.       return new MCanvasPeer(var1);
  106.    }
  107.  
  108.    public PanelPeer createPanel(Panel var1) {
  109.       return new MPanelPeer(var1);
  110.    }
  111.  
  112.    public WindowPeer createWindow(Window var1) {
  113.       return new MWindowPeer(var1);
  114.    }
  115.  
  116.    public DialogPeer createDialog(Dialog var1) {
  117.       return new MDialogPeer(var1);
  118.    }
  119.  
  120.    public FileDialogPeer createFileDialog(FileDialog var1) {
  121.       throw new AWTError("FileDialog is unimplemented.");
  122.    }
  123.  
  124.    public MenuBarPeer createMenuBar(MenuBar var1) {
  125.       return new MMenuBarPeer(var1);
  126.    }
  127.  
  128.    public MenuPeer createMenu(Menu var1) {
  129.       return new MMenuPeer(var1);
  130.    }
  131.  
  132.    public MenuItemPeer createMenuItem(MenuItem var1) {
  133.       return new MMenuItemPeer(var1);
  134.    }
  135.  
  136.    public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1) {
  137.       return new MCheckboxMenuItemPeer(var1);
  138.    }
  139.  
  140.    public Dimension getScreenSize() {
  141.       return new Dimension(this.getScreenWidth(), this.getScreenHeight());
  142.    }
  143.  
  144.    static native ColorModel makeColorModel();
  145.  
  146.    static ColorModel getStaticColorModel() {
  147.       if (screenmodel == null) {
  148.          screenmodel = makeColorModel();
  149.       }
  150.  
  151.       return screenmodel;
  152.    }
  153.  
  154.    public ColorModel getColorModel() {
  155.       return getStaticColorModel();
  156.    }
  157.  
  158.    public native int getScreenResolution();
  159.  
  160.    native int getScreenWidth();
  161.  
  162.    native int getScreenHeight();
  163.  
  164.    public String[] getFontList() {
  165.       String[] var1 = new String[]{"Dialog", "Helvetica", "TimesRoman", "Courier", "Symbol"};
  166.       return var1;
  167.    }
  168.  
  169.    public FontMetrics getFontMetrics(Font var1) {
  170.       return X11FontMetrics.getFontMetrics(var1);
  171.    }
  172.  
  173.    public native void sync();
  174.  
  175.    static synchronized Image getImageFromHash(Toolkit var0, URL var1) {
  176.       System.getSecurityManager().checkURLConnect(var1);
  177.       Image var2 = (Image)imgHash.get(var1);
  178.       if (var2 == null) {
  179.          try {
  180.             var2 = var0.createImage(new URLImageSource(var1));
  181.             imgHash.put(var1, var2);
  182.          } catch (Exception var3) {
  183.          }
  184.       }
  185.  
  186.       return var2;
  187.    }
  188.  
  189.    static synchronized Image getImageFromHash(Toolkit var0, String var1) {
  190.       System.getSecurityManager().checkRead(var1);
  191.       Image var2 = (Image)imgHash.get(var1);
  192.       if (var2 == null) {
  193.          try {
  194.             var2 = var0.createImage(new FileImageSource(var1));
  195.             imgHash.put(var1, var2);
  196.          } catch (Exception var3) {
  197.          }
  198.       }
  199.  
  200.       return var2;
  201.    }
  202.  
  203.    public Image getImage(String var1) {
  204.       return getImageFromHash(this, (String)var1);
  205.    }
  206.  
  207.    public Image getImage(URL var1) {
  208.       return getImageFromHash(this, (URL)var1);
  209.    }
  210.  
  211.    static boolean prepareScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  212.       if (var1 != 0 && var2 != 0) {
  213.          X11Image var4 = (X11Image)var0;
  214.          if (((sun.awt.image.Image)var4).hasError()) {
  215.             if (var3 != null) {
  216.                var3.imageUpdate(var0, 192, -1, -1, -1, -1);
  217.             }
  218.  
  219.             return false;
  220.          } else {
  221.             if (var1 < 0) {
  222.                var1 = -1;
  223.             }
  224.  
  225.             if (var2 < 0) {
  226.                var2 = -1;
  227.             }
  228.  
  229.             ImageRepresentation var5 = var4.getImageRep(var1, var2);
  230.             return var5.prepare(var3);
  231.          }
  232.       } else {
  233.          return true;
  234.       }
  235.    }
  236.  
  237.    static int checkScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  238.       X11Image var4 = (X11Image)var0;
  239.       int var5;
  240.       if (var1 != 0 && var2 != 0) {
  241.          if (var1 < 0) {
  242.             var1 = -1;
  243.          }
  244.  
  245.          if (var2 < 0) {
  246.             var2 = -1;
  247.          }
  248.  
  249.          var5 = var4.getImageRep(var1, var2).check(var3);
  250.       } else {
  251.          var5 = 32;
  252.       }
  253.  
  254.       return ((sun.awt.image.Image)var4).check(var3) | var5;
  255.    }
  256.  
  257.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  258.       return checkScrImage(var1, var2, var3, var4);
  259.    }
  260.  
  261.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  262.       return prepareScrImage(var1, var2, var3, var4);
  263.    }
  264.  
  265.    public Image createImage(ImageProducer var1) {
  266.       return new X11Image(var1);
  267.    }
  268.  
  269.    public Image createImage(byte[] var1, int var2, int var3) {
  270.       return this.createImage(new ByteArrayImageSource(var1, var2, var3));
  271.    }
  272.  
  273.    static {
  274.       SecurityManager.enablePrivilege("SuperUser");
  275.       System.loadLibrary("awt");
  276.       imgHash = new Hashtable();
  277.    }
  278. }
  279.