home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / sun / awt / macos / InterfaceThread.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.8 KB  |  173 lines

  1. package sun.awt.macos;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.MenuComponent;
  8. import java.awt.peer.ComponentPeer;
  9. import java.awt.peer.MenuComponentPeer;
  10.  
  11. public class InterfaceThread implements Runnable {
  12.    static Object mInterfaceQueueWaitObject = new Object();
  13.    static Object mInterfaceQueueSyncObject = new Object();
  14.    static Thread mInterfaceThread = null;
  15.  
  16.    public native void run();
  17.  
  18.    public void dispatchInterfaceEvent() {
  19.       try {
  20.          Object var6 = mInterfaceQueueWaitObject;
  21.          synchronized(var6){}
  22.  
  23.          try {
  24.             if (InterfaceEvent.firstEvent() == null) {
  25.                mInterfaceQueueWaitObject.wait();
  26.             }
  27.          } catch (Throwable var15) {
  28.             throw var15;
  29.          }
  30.       } catch (InterruptedException var16) {
  31.       }
  32.  
  33.       Object var20 = mInterfaceQueueSyncObject;
  34.       synchronized(var20){}
  35.  
  36.       InterfaceEvent var1;
  37.       try {
  38.          var1 = InterfaceEvent.firstEvent();
  39.          if (var1 != null) {
  40.             var1.dequeue();
  41.          }
  42.       } catch (Throwable var14) {
  43.          throw var14;
  44.       }
  45.  
  46.       if (var1 != null) {
  47.          Component var2 = var1.getComponent();
  48.          switch (var1.getType()) {
  49.             case 1:
  50.                Dimension var21 = var2.size();
  51.                Graphics var19 = var2.getGraphics();
  52.                var19.setColor(var2.getBackground());
  53.                var19.fillRect(0, 0, var21.width, var21.height);
  54.                var19.setColor(var2.getForeground());
  55.                var19.setFont(var2.getFont());
  56.                var2.paint(var19);
  57.                return;
  58.             case 2:
  59.                Graphics var5 = var2.getGraphics();
  60.                var5.clipRect(var1.getX(), var1.getY(), var1.getWidth(), var1.getHeight());
  61.                var2.update(var5);
  62.                return;
  63.             case 3:
  64.                MacintoshEvent var7 = new MacintoshEvent(var2, var1.getWhen(), 501, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, var1.getEventNumber());
  65.                var7.clickCount = var1.getClickCount();
  66.                var2.postEvent(var7);
  67.                return;
  68.             case 4:
  69.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 502, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, var1.getEventNumber()));
  70.                return;
  71.             case 5:
  72.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 503, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, 0));
  73.                return;
  74.             case 6:
  75.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 506, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, 0));
  76.                return;
  77.             case 7:
  78.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 401, var1.getX(), var1.getY(), var1.getKey(), var1.getFlags(), (Object)null, var1.getEventNumber()));
  79.                return;
  80.             case 8:
  81.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 402, var1.getX(), var1.getY(), var1.getKey(), var1.getFlags(), (Object)null, var1.getEventNumber()));
  82.                return;
  83.             case 9:
  84.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 403, var1.getX(), var1.getY(), var1.getKey(), var1.getFlags(), (Object)null, var1.getEventNumber()));
  85.                return;
  86.             case 10:
  87.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 404, var1.getX(), var1.getY(), var1.getKey(), var1.getFlags(), (Object)null, var1.getEventNumber()));
  88.                return;
  89.             case 11:
  90.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 504, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, 0));
  91.                return;
  92.             case 12:
  93.                var2.postEvent(new MacintoshEvent(var2, var1.getWhen(), 505, var1.getX(), var1.getY(), 0, var1.getFlags(), (Object)null, 0));
  94.                return;
  95.             case 13:
  96.                ComponentPeer var18 = var2.getPeer();
  97.                ((ActionComponent)var18).action();
  98.                return;
  99.             case 14:
  100.                ComponentPeer var17 = var2.getPeer();
  101.                ((ActionComponent)var17).action(var1.getActionState());
  102.                return;
  103.             case 15:
  104.                ComponentPeer var3 = var2.getPeer();
  105.                ((ActionComponent)var3).action(var1.getFlags());
  106.                return;
  107.             case 16:
  108.                MenuComponentPeer var4 = var1.getMenuComponent().getPeer();
  109.                ((ActionComponent)var4).action(var1.getFlags());
  110.                return;
  111.             case 17:
  112.                var2.postEvent(new Event(var2, 701, new Integer(var1.getFlags())));
  113.                return;
  114.             case 18:
  115.                var2.postEvent(new Event(var2, 702, new Integer(var1.getFlags())));
  116.                return;
  117.          }
  118.       }
  119.  
  120.    }
  121.  
  122.    static void postInterfaceEvent(int var0, Component var1, MenuComponent var2, int var3, int var4, int var5, int var6, long var7, int var9, int var10, int var11, boolean var12, int var13) {
  123.       if (mInterfaceThread == null) {
  124.          mInterfaceThread = new Thread(new InterfaceThread(), "AWT Interface Thread");
  125.          mInterfaceThread.start();
  126.       }
  127.  
  128.       InterfaceEvent var14 = new InterfaceEvent(var0, var1, var2, var3, var4, var5, var6, var7, var9, var10, var11, var12, var13);
  129.       Object var15 = mInterfaceQueueSyncObject;
  130.       synchronized(var15) {
  131.          if (var14.enqueue()) {
  132.             Object var17 = mInterfaceQueueWaitObject;
  133.             synchronized(var17){}
  134.  
  135.             try {
  136.                mInterfaceQueueWaitObject.notify();
  137.             } catch (Throwable var20) {
  138.                throw var20;
  139.             }
  140.          }
  141.       }
  142.  
  143.    }
  144.  
  145.    static void postInterfaceEvent(int var0, Component var1, int var2, int var3, int var4, int var5, long var6, int var8, int var9, int var10, int var11) {
  146.       postInterfaceEvent(var0, var1, (MenuComponent)null, var2, var3, var4, var5, var6, var8, var9, var10, false, var11);
  147.    }
  148.  
  149.    static void postInterfaceEvent(int var0, Component var1, int var2, int var3, int var4, int var5, long var6, int var8, int var9) {
  150.       postInterfaceEvent(var0, var1, (MenuComponent)null, var2, var3, var4, var5, var6, var8, var9, 0, false, 0);
  151.    }
  152.  
  153.    static void postInterfaceEvent(int var0, Component var1, int var2) {
  154.       postInterfaceEvent(var0, var1, (MenuComponent)null, 0, 0, 0, 0, 0L, var2, 0, 0, false, 0);
  155.    }
  156.  
  157.    static void postInterfaceEvent(Component var0) {
  158.       postInterfaceEvent(13, var0, (MenuComponent)null, 0, 0, 0, 0, 0L, 0, 0, 0, false, 0);
  159.    }
  160.  
  161.    static void postInterfaceEvent(Component var0, int var1) {
  162.       postInterfaceEvent(15, var0, (MenuComponent)null, 0, 0, 0, 0, 0L, var1, 0, 0, false, 0);
  163.    }
  164.  
  165.    static void postInterfaceEvent(Component var0, boolean var1) {
  166.       postInterfaceEvent(14, var0, (MenuComponent)null, 0, 0, 0, 0, 0L, 0, 0, 0, var1, 0);
  167.    }
  168.  
  169.    static void postInterfaceEvent(MenuComponent var0, int var1) {
  170.       postInterfaceEvent(16, (Component)null, var0, 0, 0, 0, 0, 0L, 0, var1, 0, false, 0);
  171.    }
  172. }
  173.