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;
- EventQueueListener eventQueueListener;
-
- 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) {
- EventQueueItem var2 = new EventQueueItem(var1);
- if (this.queue == null) {
- this.queue = var2;
- this.notifyAll();
- } else {
- EventQueueItem var3 = this.queue;
-
- while(true) {
- if (var3.id == var2.id) {
- switch (var3.id) {
- case 503:
- case 506:
- MouseEvent var4 = (MouseEvent)var3.event;
- if (((EventObject)var4).getSource() == ((MouseEvent)var1).getSource() && ((InputEvent)var4).getModifiers() == ((MouseEvent)var1).getModifiers()) {
- var3.event = var2.event;
- return;
- }
- break;
- case 800:
- case 801:
- PaintEvent var5 = (PaintEvent)var3.event;
- if (((EventObject)var5).getSource() == ((EventObject)var1).getSource()) {
- Rectangle var6 = var5.getUpdateRect();
- Rectangle var7 = ((PaintEvent)var1).getUpdateRect();
- if (!var6.equals(var7)) {
- var5.setUpdateRect(var6.union(var7));
- }
-
- return;
- }
- }
- }
-
- if (var3.next == null) {
- var3.next = var2;
- break;
- }
-
- var3 = var3.next;
- }
- }
-
- this.notifyEventQueueListeners(var1);
- }
-
- 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 addEventQueueListener(EventQueueListener var1) {
- this.eventQueueListener = java.awt.EventQueue.EventQueueMulticaster.add(this.eventQueueListener, var1);
- }
-
- synchronized void removeEventQueueListener(EventQueueListener var1) {
- this.eventQueueListener = java.awt.EventQueue.EventQueueMulticaster.remove(this.eventQueueListener, var1);
- }
-
- 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;
- }
-
- }
-
- synchronized void removeEvents(Class var1, int var2) {
- EventQueueItem var3 = this.queue;
-
- for(EventQueueItem var4 = null; var3 != null; var3 = var3.next) {
- if (var1.isInstance(var3.event) && var3.event.getID() == var2) {
- if (var4 == null) {
- this.queue = var3.next;
- } else {
- var4.next = var3.next;
- }
- }
-
- var4 = var3;
- }
-
- }
-
- private void notifyEventQueueListeners(AWTEvent var1) {
- if (this.eventQueueListener != null) {
- this.eventQueueListener.eventPosted(var1);
- }
-
- }
- }
-