home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseEvent;
- import java.awt.event.PaintEvent;
- import java.util.EventObject;
-
- public class EventQueue {
- private static int threadInitNumber;
- private EventQueueItem queue = null;
-
- private static synchronized int nextThreadNum() {
- return threadInitNumber++;
- }
-
- public EventQueue() {
- String var1 = "AWT-EventQueue-" + nextThreadNum();
- (new EventDispatchThread(var1, this)).start();
- }
-
- public synchronized void postEvent(AWTEvent var1) {
- this.postEvent(var1, false);
- }
-
- synchronized void postEventAtHead(AWTEvent var1) {
- this.postEvent(var1, true);
- }
-
- private synchronized void postEvent(AWTEvent var1, boolean var2) {
- EventQueueItem var3 = new EventQueueItem(var1);
- if (this.queue == null) {
- this.queue = var3;
- this.notifyAll();
- } else {
- EventQueueItem var4 = this.queue;
-
- while(true) {
- if (var4.id == var3.id) {
- switch (var4.id) {
- case 503:
- case 506:
- MouseEvent var5 = (MouseEvent)var4.event;
- if (((EventObject)var5).getSource() == ((MouseEvent)var1).getSource() && ((InputEvent)var5).getModifiers() == ((MouseEvent)var1).getModifiers()) {
- var4.event = var3.event;
- return;
- }
- break;
- case 800:
- case 801:
- PaintEvent var6 = (PaintEvent)var4.event;
- if (((EventObject)var6).getSource() == ((EventObject)var1).getSource()) {
- Rectangle var7 = var6.getUpdateRect();
- Rectangle var8 = ((PaintEvent)var1).getUpdateRect();
- if (!var7.equals(var8)) {
- var6.setUpdateRect(var7.union(var8));
- }
-
- return;
- }
- }
- }
-
- if (var4.next == null) {
- if (var2) {
- var3.next = this.queue;
- this.queue = var3;
- return;
- }
-
- var4.next = var3;
- return;
- }
-
- var4 = var4.next;
- }
- }
- }
-
- public synchronized AWTEvent getNextEvent() throws InterruptedException {
- while(this.queue == null) {
- this.wait();
- }
-
- EventQueueItem var1 = this.queue;
- this.queue = this.queue.next;
- return var1.event;
- }
-
- public synchronized AWTEvent peekEvent() {
- return this.queue != null ? this.queue.event : null;
- }
-
- public synchronized AWTEvent peekEvent(int var1) {
- for(EventQueueItem var2 = this.queue; var2 != null; var2 = var2.next) {
- if (var2.id == var1) {
- return var2.event;
- }
- }
-
- return null;
- }
-
- synchronized void changeKeyEventFocus(Object var1) {
- for(EventQueueItem var2 = this.queue; var2 != null; var2 = var2.next) {
- if (var2.event instanceof KeyEvent) {
- var2.event.setSource(var1);
- }
- }
-
- }
-
- synchronized void removeSourceEvents(Object var1) {
- EventQueueItem var2 = this.queue;
-
- for(EventQueueItem var3 = null; var2 != null; var2 = var2.next) {
- if (var2.event.getSource().equals(var1)) {
- if (var3 == null) {
- this.queue = var2.next;
- } else {
- var3.next = var2.next;
- }
- }
-
- var3 = var2;
- }
-
- }
- }
-